Application: konsole (2.13.2) KDE Platform Version: 4.13.3 Qt Version: 4.8.6 Operating System: Linux 3.13.0-35-generic x86_64 Distribution: Ubuntu 14.04.1 LTS -- Information about the crash: - What I was doing when the application crashed: Selecting a bunch of text (which I was going to paste into a file). Causing the window to scroll up. Scrollback is capped at 10,000 lines. The tab I was in probably wouldn't have hit that though as it was newly-opened. -- Backtrace: Application: Konsole (konsole), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f66feb747c0 (LWP 30089))] Thread 4 (Thread 0x7f66e5ccf700 (LWP 30090)): #0 __libc_disable_asynccancel () at ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:98 #1 0x00007f66fe4a3379 in read () at ../sysdeps/unix/syscall-template.S:81 #2 0x00007f66f785ac20 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f66f7819b14 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f66f7819f7b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f66f781a30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #6 0x00007f66ec40ae16 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #7 0x00007f66f783ef15 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #8 0x00007f66f8100182 in start_thread (arg=0x7f66e5ccf700) at pthread_create.c:312 #9 0x00007f66fe4b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 3 (Thread 0x7f66e54ce700 (LWP 30091)): #0 0x00007f66fe4a4c6d in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007f66f7819fe4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f66f781a0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f66f781a129 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f66f783ef15 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f66f8100182 in start_thread (arg=0x7f66e54ce700) at pthread_create.c:312 #6 0x00007f66fe4b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7f66ced88700 (LWP 30095)): #0 0x00007f66f785b62a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007f66f785b9b9 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f66f78190f0 in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f66f7819ea5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007f66f781a0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007f66fcbb37be in QEventDispatcherGlib::processEvents (this=0x7f66c80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436 #6 0x00007f66fcb850af in QEventLoop::processEvents (this=this@entry=0x7f66ced87de0, flags=...) at kernel/qeventloop.cpp:149 #7 0x00007f66fcb853a5 in QEventLoop::exec (this=this@entry=0x7f66ced87de0, flags=...) at kernel/qeventloop.cpp:204 #8 0x00007f66fca81c5f in QThread::exec (this=this@entry=0x28e9bb0) at thread/qthread.cpp:537 #9 0x00007f66fcb66823 in QInotifyFileSystemWatcherEngine::run (this=0x28e9bb0) at io/qfilesystemwatcher_inotify.cpp:265 #10 0x00007f66fca8432f in QThreadPrivate::start (arg=0x28e9bb0) at thread/qthread_unix.cpp:349 #11 0x00007f66f8100182 in start_thread (arg=0x7f66ced88700) at pthread_create.c:312 #12 0x00007f66fe4b1fbd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7f66feb747c0 (LWP 30089)): [KCrash Handler] #6 0x00007f66fe15e969 in Konsole::TerminalDisplay::charClass(Konsole::Character const&) const () from /usr/lib/libkonsoleprivate.so #7 0x00007f66fe16234d in Konsole::TerminalDisplay::findWordEnd(QPoint const&) () from /usr/lib/libkonsoleprivate.so #8 0x00007f66fe162e0d in Konsole::TerminalDisplay::extendSelection(QPoint const&) () from /usr/lib/libkonsoleprivate.so #9 0x00007f66fe16006b in Konsole::TerminalDisplay::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libkonsoleprivate.so #10 0x00007f66fbf6f635 in QWidget::event (this=0x3436ce0, event=0x7fff8e6a1ac0) at kernel/qwidget.cpp:8361 #11 0x00007f66fe165aba in Konsole::TerminalDisplay::event(QEvent*) () from /usr/lib/libkonsoleprivate.so #12 0x00007f66fbf1fe2c in QApplicationPrivate::notify_helper (this=this@entry=0x2643ce0, receiver=receiver@entry=0x3436ce0, e=e@entry=0x7fff8e6a1ac0) at kernel/qapplication.cpp:4567 #13 0x00007f66fbf265dd in QApplication::notify (this=this@entry=0x7fff8e6a2340, receiver=receiver@entry=0x3436ce0, e=e@entry=0x7fff8e6a1ac0) at kernel/qapplication.cpp:4110 #14 0x00007f66fd5d0d1a in KApplication::notify (this=0x7fff8e6a2340, receiver=0x3436ce0, event=0x7fff8e6a1ac0) at ../../kdeui/kernel/kapplication.cpp:311 #15 0x00007f66fcb864dd in QCoreApplication::notifyInternal (this=0x7fff8e6a2340, receiver=receiver@entry=0x3436ce0, event=event@entry=0x7fff8e6a1ac0) at kernel/qcoreapplication.cpp:953 #16 0x00007f66fbf25d93 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #17 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x3436ce0, event=event@entry=0x7fff8e6a1ac0, alienWidget=alienWidget@entry=0x0, nativeWidget=nativeWidget@entry=0x2b23a90, buttonDown=buttonDown@entry=0x7f66fca05318 <qt_button_down>, lastMouseReceiver=..., spontaneous=spontaneous@entry=true) at kernel/qapplication.cpp:3178 #18 0x00007f66fbf9a9cb in QETWidget::translateMouseEvent (this=this@entry=0x2b23a90, event=event@entry=0x7fff8e6a1e40) at kernel/qapplication_x11.cpp:4634 #19 0x00007f66fbf9a269 in QApplication::x11ProcessEvent (this=0x7fff8e6a2340, event=event@entry=0x7fff8e6a1e40) at kernel/qapplication_x11.cpp:3627 #20 0x00007f66fbfc1b02 in x11EventSourceDispatch (s=0x2644870, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #21 0x00007f66f7819e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007f66f781a048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007f66f781a0ec in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007f66fcbb37a1 in QEventDispatcherGlib::processEvents (this=0x25e8e00, flags=...) at kernel/qeventdispatcher_glib.cpp:434 #25 0x00007f66fbfc1bb6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #26 0x00007f66fcb850af in QEventLoop::processEvents (this=this@entry=0x7fff8e6a2210, flags=...) at kernel/qeventloop.cpp:149 #27 0x00007f66fcb853a5 in QEventLoop::exec (this=this@entry=0x7fff8e6a2210, flags=...) at kernel/qeventloop.cpp:204 #28 0x00007f66fcb8ab79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1225 #29 0x00007f66fe7956f7 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_konsole.so #30 0x00007f66fe3d8ec5 in __libc_start_main (main=0x4006d0, argc=1, argv=0x7fff8e6a2488, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff8e6a2478) at libc-start.c:287 #31 0x00000000004006fe in _start () Report to https://bugs.kde.org/ Reproducible: Didn't try Steps to Reproduce: see above
*** Bug 381680 has been marked as a duplicate of this bug. ***
*** Bug 350151 has been marked as a duplicate of this bug. ***
*** Bug 359886 has been marked as a duplicate of this bug. ***
*** Bug 369397 has been marked as a duplicate of this bug. ***
*** Bug 382027 has been marked as a duplicate of this bug. ***
*** Bug 383997 has been marked as a duplicate of this bug. ***
Created attachment 109695 [details] New crash information added by DrKonqi konsole (17.12.0) using Qt 5.10.0 - What I was doing when the application crashed: Selecting a bunch of text from bottom to top, causing the window to scroll up. It takes quite a few lines before the crash occurs (I would say about 50). -- Backtrace (Reduced): #5 0x00007fb750789fbd in Konsole::TerminalDisplay::charClass(Konsole::Character const&) const () from /usr/lib/libkonsoleprivate.so.17 #6 0x00007fb75078f74e in Konsole::TerminalDisplay::findWordEnd(QPoint const&) () from /usr/lib/libkonsoleprivate.so.17 #7 0x00007fb750791226 in Konsole::TerminalDisplay::extendSelection(QPoint const&) () from /usr/lib/libkonsoleprivate.so.17 #8 0x00007fb75078bfdc in Konsole::TerminalDisplay::mouseMoveEvent(QMouseEvent*) () from /usr/lib/libkonsoleprivate.so.17 #9 0x00007fb74dfdee38 in QWidget::event(QEvent*) () from /usr/lib/libQt5Widgets.so.5
It seems this happens only when word-selecting, i.e. double-click the text, then move the mouse cursor up. I can reliably reproduce the problem when doing the following: 1. Open Konsole 2. Type in bash prompt: for((i=0;i<1000;++i)); do echo Hello, world $i; done 3. Run the command typed 4. Double-click the last appeared word "world" and drag it above the terminal viewport so that the terminal starts to scroll. The double-click&drag pattern is like "Press-release-press-drag left mouse button" 5. It'll scroll not much before it crashes. I was able to get it scroll by one line and crash, but it seems this depends on the text column the mouse cursor is above, so if you still fail to reproduce, try moving the cursor left-right while holding it above the terminal viewport.
Thanks for the steps to reproduce - crashes on master as well
Git commit f98c752bce9fa11f1e81cf6ef8c02b3c3861c341 by Kurt Hindenburg. Committed on 21/01/2018 at 18:44. Pushed by hindenburg into branch 'master'. Reverts: Fix double click can only select text within visible region Partial revert of 914067d14a6a27b59bba1c53cc18cb67eb9811fc Change to use old code while leaving (not used) new code in. Fixes reproduciable crashes: Konsole::TerminalDisplay::findWordEnd() Konsole::TerminalDisplay::charClass(image[j]); -> invalid location I was not able to get the triple click code to crash which was the previous patch to this. FIXED-IN: 18.04 M +96 -11 src/TerminalDisplay.cpp https://commits.kde.org/konsole/f98c752bce9fa11f1e81cf6ef8c02b3c3861c341
*** Bug 398861 has been marked as a duplicate of this bug. ***
*** Bug 411170 has been marked as a duplicate of this bug. ***