SUMMARY Crash on opening Quick Open in kdevelop. STEPS TO REPRODUCE 1. Open a project. 2. Click in Quick Open field 3. Try to scroll the Quick Open drop-down list with mouse wheel ---> crash! OBSERVED RESULT kcrash: ------------------ Application: KDevelop (kdevelop), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f91002ac980 (LWP 3057))] Thread 16 (Thread 0x7f90c37fe700 (LWP 2524)): #0 0x00007f91075dac78 in g_main_context_check () at /lib64/libglib-2.0.so.0 #1 0x00007f91075db182 in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90b000a7d0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90c37fdc00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0x00007f910856ea69 in () at /lib64/libQt5Qml.so.5 #7 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a755e0630) at thread/qthread_unix.cpp:361 #8 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 15 (Thread 0x7f90a50f8700 (LWP 9173)): #0 0x00007f910c92a174 in __tls_get_addr () at /lib64/ld-linux-x86-64.so.2 #1 0x00007f910af0fd2a in get_thread_data () at thread/qthread_unix.cpp:239 #2 0x00007f910af0fd2a in QThreadData::current(bool) (createIfNecessary=createIfNecessary@entry=true) at thread/qthread_unix.cpp:239 #3 0x00007f910b10caae in postEventSourcePrepare(GSource*, gint*) (s=0x7f9094004fb0, timeout=0x0) at kernel/qeventdispatcher_glib.cpp:252 #4 0x00007f91075dac31 in g_main_context_check () at /lib64/libglib-2.0.so.0 #5 0x00007f91075db182 in () at /lib64/libglib-2.0.so.0 #6 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #7 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f9094000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #8 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90a50f7b90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #9 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #10 0x00007f9109bc9ea0 in () at /lib64/libKDevPlatformLanguage.so.54 #11 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a765c1070) at thread/qthread_unix.cpp:361 #12 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #13 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 14 (Thread 0x7f90c1330700 (LWP 8526)): #0 0x00007f9107f0f4d5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f910af16283 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x555a7423b540) at thread/qwaitcondition_unix.cpp:146 #2 0x00007f910af16283 in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x555a7423b620, deadline=...) at thread/qwaitcondition_unix.cpp:225 #3 0x00007f910af16311 in QWaitCondition::wait(QMutex*, unsigned long) (this=0x555a7423b4a8, mutex=0x555a7423b620, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68 #4 0x00007f910756fe1f in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=this@entry=0x555a7423b450, th=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:594 #5 0x00007f9107570ba0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x555a7423b450, th=<optimized out>, th@entry=0x555a76585440, threadWasBusy=threadWasBusy@entry=false, suspendIfInactive=suspendIfInactive@entry=false, justReturning=justReturning@entry=false) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:554 #6 0x00007f910757481e in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:66 #7 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #8 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #9 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #10 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #11 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #12 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #13 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #14 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #15 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #16 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #17 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #18 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #19 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a76585440, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #20 0x00007f91075727d3 in ThreadWeaver::Thread::run() (this=0x555a76585440) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/thread.cpp:103 #21 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a76585440) at thread/qthread_unix.cpp:361 #22 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #23 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 13 (Thread 0x7f90c1b31700 (LWP 8525)): #0 0x00007f9107f0f4d5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f910af16283 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x555a7423b540) at thread/qwaitcondition_unix.cpp:146 #2 0x00007f910af16283 in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x555a7423b620, deadline=...) at thread/qwaitcondition_unix.cpp:225 #3 0x00007f910af16311 in QWaitCondition::wait(QMutex*, unsigned long) (this=0x555a7423b4a8, mutex=0x555a7423b620, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68 #4 0x00007f910756fe1f in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=this@entry=0x555a7423b450, th=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:594 #5 0x00007f9107570ba0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x555a7423b450, th=<optimized out>, th@entry=0x7f90a8003ae0, threadWasBusy=threadWasBusy@entry=false, suspendIfInactive=suspendIfInactive@entry=false, justReturning=justReturning@entry=false) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:554 #6 0x00007f910757481e in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x7f90a8003ae0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:66 #7 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x7f90a8003ae0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #8 0x00007f9107574879 in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x7f90a8003ae0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:73 #9 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x7f90a8003ae0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #10 0x00007f91075727d3 in ThreadWeaver::Thread::run() (this=0x7f90a8003ae0) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/thread.cpp:103 #11 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x7f90a8003ae0) at thread/qthread_unix.cpp:361 #12 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #13 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 12 (Thread 0x7f90c2332700 (LWP 8524)): #0 0x00007f9107f0f4d5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f910af16283 in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x555a7423b540) at thread/qwaitcondition_unix.cpp:146 #2 0x00007f910af16283 in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x555a7423b620, deadline=...) at thread/qwaitcondition_unix.cpp:225 #3 0x00007f910af16311 in QWaitCondition::wait(QMutex*, unsigned long) (this=0x555a7423b4a8, mutex=0x555a7423b620, time=time@entry=18446744073709551615) at ../../include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68 #4 0x00007f910756fe1f in ThreadWeaver::Weaver::blockThreadUntilJobsAreBeingAssigned_locked(ThreadWeaver::Thread*) (this=this@entry=0x555a7423b450, th=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:594 #5 0x00007f9107570ba0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) (this=0x555a7423b450, th=<optimized out>, th@entry=0x555a73fefad0, threadWasBusy=threadWasBusy@entry=true, suspendIfInactive=suspendIfInactive@entry=false, justReturning=justReturning@entry=false) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:554 #6 0x00007f910757481e in ThreadWeaver::WorkingHardState::applyForWork(ThreadWeaver::Thread*, bool) (this=0x555a7423b720, th=0x555a73fefad0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/workinghardstate.cpp:66 #7 0x00007f910756fd72 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) (this=<optimized out>, th=0x555a73fefad0, wasBusy=<optimized out>) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/weaver.cpp:568 #8 0x00007f91075727d3 in ThreadWeaver::Thread::run() (this=0x555a73fefad0) at /usr/src/debug/kf5-threadweaver-5.59.0-1.fc30.x86_64/src/thread.cpp:103 #9 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a73fefad0) at thread/qthread_unix.cpp:361 #10 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 11 (Thread 0x7f90c3fff700 (LWP 5625)): #0 0x00007f910ab825c7 in poll () at /lib64/libc.so.6 #1 0x00007f91075db1de in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90b803ec30, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90c3ffec00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0x00007f90c2fcd699 in () at /usr/lib64/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so #7 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a762b9bc0) at thread/qthread_unix.cpp:361 #8 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 10 (Thread 0x7f90dc8c2700 (LWP 5320)): #0 0x00007f910ab7e08c in read () at /lib64/libc.so.6 #1 0x00007f910762270f in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075dad27 in g_main_context_check () at /lib64/libglib-2.0.so.0 #3 0x00007f91075db182 in () at /lib64/libglib-2.0.so.0 #4 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #5 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90bc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #6 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90dc8c1b90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #7 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #8 0x00007f9109bc9ea0 in () at /lib64/libKDevPlatformLanguage.so.54 #9 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a74603880) at thread/qthread_unix.cpp:361 #10 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 9 (Thread 0x7f90ddfaf700 (LWP 5232)): #0 0x00007f910ab825c7 in poll () at /lib64/libc.so.6 #1 0x00007f91075db1de in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90c8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90ddfaec00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0x00007f910856ea69 in () at /lib64/libQt5Qml.so.5 #7 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a74482ba0) at thread/qthread_unix.cpp:361 #8 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 8 (Thread 0x7f90df1f7700 (LWP 5169)): #0 0x00007f9107626ced in g_mutex_lock () at /lib64/libglib-2.0.so.0 #1 0x00007f91075da767 in g_main_context_prepare () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db10b in () at /lib64/libglib-2.0.so.0 #3 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #4 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90c4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #5 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90df1f6c20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a743dd2c0) at thread/qthread_unix.cpp:361 #8 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 7 (Thread 0x7f90dfcd1700 (LWP 5141)): #0 0x00007f910ab825c7 in poll () at /lib64/libc.so.6 #1 0x00007f91075db1de in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90cc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90dfcd0c20, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x7f91074a6028) at thread/qthread_unix.cpp:361 #7 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #8 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 6 (Thread 0x7f90e8fe1700 (LWP 5114)): #0 0x00007f910ab7e08c in read () at /lib64/libc.so.6 #1 0x00007f910762270f in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075dad27 in g_main_context_check () at /lib64/libglib-2.0.so.0 #3 0x00007f91075db182 in () at /lib64/libglib-2.0.so.0 #4 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #5 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90d8000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #6 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90e8fe0bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #7 0x00007f910af0f635 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #8 0x00007f9109ab9060 in () at /lib64/libKDevPlatformLanguage.so.54 #9 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a74332300) at thread/qthread_unix.cpp:361 #10 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #11 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 5 (Thread 0x7f90eabbd700 (LWP 3862)): #0 0x00007f9107f0f4d5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f90eb53620b in () at /usr/lib64/dri/i965_dri.so #2 0x00007f90eb535e1b in () at /usr/lib64/dri/i965_dri.so #3 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #4 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 4 (Thread 0x7f90f19ea700 (LWP 3708)): #0 0x00007f910ab825c7 in poll () at /lib64/libc.so.6 #1 0x00007f91075db1de in () at /lib64/libglib-2.0.so.0 #2 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #3 0x00007f910b10cbf3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f90e4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #4 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f90f19e9bf0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0x00007f910af0f635 in QThread::exec() (this=this@entry=0x7f910ba43060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0x00007f910b9bff4a in QDBusConnectionManager::run() (this=0x7f910ba43060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #7 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x7f910ba43060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:361 #8 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #9 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 3 (Thread 0x7f90f25e9700 (LWP 3572)): #0 0x00007f910ab825c7 in poll () at /lib64/libc.so.6 #1 0x00007f9103d5b38a in poll (__timeout=-1, __nfds=1, __fds=0x7f90f25e8b28) at /usr/include/bits/poll2.h:46 #2 0x00007f9103d5b38a in _xcb_conn_wait (c=c@entry=0x555a739e56a0, cond=cond@entry=0x555a739e56e0, vector=vector@entry=0x0, count=count@entry=0x0) at xcb_conn.c:479 #3 0x00007f9103d5cffa in xcb_wait_for_event (c=c@entry=0x555a739e56a0) at xcb_in.c:697 #4 0x00007f90f273fbe8 in QXcbEventQueue::run() (this=0x555a739f65e0) at qxcbeventqueue.cpp:228 #5 0x00007f910af10786 in QThreadPrivate::start(void*) (arg=0x555a739f65e0) at thread/qthread_unix.cpp:361 #6 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #7 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 2 (Thread 0x7f91002a6700 (LWP 3566)): #0 0x00007f9107f0f4d5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0 #1 0x00007f910ad286d0 in __gthread_cond_wait (__mutex=<optimized out>, __cond=<optimized out>) at /usr/src/debug/gcc-9.1.1-1.fc30.x86_64/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/x86_64-redhat-linux/bits/gthr-default.h:865 #2 0x00007f910ad286d0 in std::condition_variable::wait(std::unique_lock<std::mutex>&) (this=<optimized out>, __lock=...) at ../../../../../libstdc++-v3/src/c++11/condition_variable.cc:53 #3 0x00007f9106910421 in () at /lib64/libQt5WebKit.so.5 #4 0x00007f910691055f in () at /lib64/libQt5WebKit.so.5 #5 0x00007f910ad2e474 in std::execute_native_thread_routine(void*) (__p=0x555a739d2370) at ../../../../../libstdc++-v3/src/c++11/thread.cc:80 #6 0x00007f9107f095a2 in start_thread () at /lib64/libpthread.so.0 #7 0x00007f910ab8d303 in clone () at /lib64/libc.so.6 Thread 1 (Thread 0x7f91002ac980 (LWP 3057)): [KCrash Handler] #6 0x00007f91093c9f39 in KateViewInternal::textHintTimeout() (this=0x555a7674ab60) at /usr/src/debug/kf5-ktexteditor-5.59.0-1.fc30.x86_64/src/view/kateviewinternal.cpp:3169 #7 0x00007f91092ade62 in KateViewInternal::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kf5-ktexteditor-5.59.0-1.fc30.x86_64/x86_64-redhat-linux-gnu/src/KF5TextEditor_autogen/OTUN7GXZT4/moc_kateviewinternal.cpp:214 #8 0x00007f910b0e1d7b in QMetaObject::activate(QObject*, int, int, void**) (sender=0x555a7674ad88, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3801 #9 0x00007f910b0ee4fb in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:204 #10 0x00007f910b0e2b95 in QObject::event(QEvent*) (this=0x555a7674ad88, e=<optimized out>) at kernel/qobject.cpp:1282 #11 0x00007f910bc22af6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x555a739d4d50, receiver=receiver@entry=0x555a7674ad88, e=e@entry=0x7ffd1b1c8680) at kernel/qapplication.cpp:3737 #12 0x00007f910bc2be80 in QApplication::notify(QObject*, QEvent*) (this=0x7ffd1b1c8a90, receiver=0x555a7674ad88, e=0x7ffd1b1c8680) at kernel/qapplication.cpp:3483 #13 0x00007f910b0b7ae8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x555a7674ad88, event=0x7ffd1b1c8680) at kernel/qcoreapplication.cpp:1084 #14 0x00007f910b10be93 in QTimerInfoList::activateTimers() (this=0x555a73aa64b0) at kernel/qtimerinfo_unix.cpp:643 #15 0x00007f910b10c74c in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182 #16 0x00007f91075daedd in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #17 0x00007f91075db270 in () at /lib64/libglib-2.0.so.0 #18 0x00007f91075db313 in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #19 0x00007f910b10cbd5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x555a73aa5260, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #20 0x00007f910b0b69eb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffd1b1c88d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #21 0x00007f910b0be726 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #22 0x0000555a72a49318 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdevelop-5.4.1-1.fc30.x86_64/app/main.cpp:851 [Inferior 1 (process 3057) detached] ------------------ EXPECTED RESULT SOFTWARE/OS VERSIONS Operating System: Fedora 30 KDE Plasma Version: 5.15.5 KDE Frameworks Version: 5.59.0 Qt Version: 5.12.4 Kernel Version: 5.1.16-300.fc30.x86_64 OS Type: 64-bit Processors: 2 × Intel® Celeron® CPU B800 @ 1.50GHz Memory: 3,8 ГиБ ADDITIONAL INFORMATION
Seems this crashes in KTextEditor's KateViewInternal::textHintTimeout(), possibly due to pointer to a no longer existing TextHintProvider: ``` QStringList textHints; foreach(KTextEditor::TextHintProvider * const p, m_textHintProviders) { const QString hint = p->textHint(m_view, c); // <- crash line 3169 in 5.59 if (!hint.isEmpty()) { textHints.append(hint); } } ``` https://phabricator.kde.org/source/ktexteditor/browse/master/src/view/kateviewinternal.cpp;v5.59.0$3169 Now KDevelop has a flaw that both TextHintProvider classes are getting passed to TextHintInterface::registerTextHintProvider, but not TextHintInterface::unregisterTextHintProvider once they are deleted, which could be the cause then for a dangling pointer here. From a quick check via lxr.kde.org there are no other candidates in a kdevelop context, so in any case something to improve kdevelop-side. Having a look now myself...
Git commit 37d08f752e261f68cc89fd1d0fe6a55b2ee40a22 by Friedrich W. H. Kossebau. Committed on 01/09/2019 at 14:05. Pushed by kossebau into branch '5.4'. Fix crash on text hint being triggered after disabling code browser plugin >From KTextEditor::TextHintInterface::registerTextHintProvider() docs: "When the provider is about to be destroyed, make sure to call unregisterTextHintProvider() to avoid a dangling pointer." (new requirement with KF5) The old code never unregistered in case the ContextBrowserPlugin was deleted (like it happens when disabling the plugin in the settings in a running KDevelop instance). M +10 -0 plugins/contextbrowser/contextbrowser.cpp M +2 -0 plugins/contextbrowser/contextbrowser.h https://invent.kde.org/kde/kdevelop/commit/37d08f752e261f68cc89fd1d0fe6a55b2ee40a22
Git commit 0b4ad38441d6a3ce558102cc1ae329d8553ad025 by Friedrich W. H. Kossebau. Committed on 01/09/2019 at 14:13. Pushed by kossebau into branch '5.4'. all debuggers: fix VariableCollection to unregister as texthinter provider M +15 -0 kdevplatform/debugger/variable/variablecollection.cpp M +3 -0 kdevplatform/debugger/variable/variablecollection.h https://invent.kde.org/kde/kdevelop/commit/0b4ad38441d6a3ce558102cc1ae329d8553ad025
By analysis given in comment #c1 for now I assume this crash only was coinidentally when opening Quick Open. The two commits shall close the hole by which the crash might have entered, so closing this report. Please reopen if you still see such crashes happening with the same backtrace (or otherwise open a new one).