Bug 309896

Summary: Crash after start
Product: kdevelop Reporter: Daniel Vrátil <dvratil>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: 4.3.0   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Daniel Vrátil 2012-11-11 10:55:50 UTC
Application: kdevelop (4.4.60)
KDE Platform Version: 4.9.3
Qt Version: 4.8.3
Operating System: Linux 3.6.6-3.fc18.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
A few seconds after KDevelop starts and starts indexing project, it crashes. It happens only with a specific session, other sessions work OK. The session in question worked before too, but since crashed the first time, it crashes every time. 

This is with a recent git checkout.

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
81	T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)
[Current thread is 1 (Thread 0x7f7e45597880 (LWP 30254))]

Thread 12 (Thread 0x7f7e3a030700 (LWP 30255)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:217
#1  0x000000379667bc87 in wait (time=1000, this=0x308c470) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x30711a0, time=1000) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003f078c198f in KDevelop::DUChainPrivate::CleanupThread::run (this=<optimized out>) at /home/data/clones/kdevplatform/language/duchain/duchain.cpp:282
#4  0x000000379667b7cc in QThreadPrivate::start (arg=0x3071180) at thread/qthread_unix.cpp:338
#5  0x0000003ba6207d15 in start_thread (arg=0x7f7e3a030700) at pthread_create.c:308
#6  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 11 (Thread 0x7f7e2393e700 (LWP 30258)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f7e1c002ea0, timeout=-1, context=0x7f7e1c0009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f7e1c0009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7e1c0009a0, may_block=1) at gmain.c:3351
#4  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7e1c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7e2393dd00, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000037967770b8 in QEventLoop::exec (this=0x7f7e2393dd00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000379667b7cc in QThreadPrivate::start (arg=0x3ee4050) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f7e2393e700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 10 (Thread 0x7f7e2313d700 (LWP 30259)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f7e14002ca0, timeout=-1, context=0x7f7e140009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f7e140009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7e140009a0, may_block=1) at gmain.c:3351
#4  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7e140008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7e2313cd00, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000037967770b8 in QEventLoop::exec (this=0x7f7e2313cd00, flags=...) at kernel/qeventloop.cpp:204
#7  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000379667b7cc in QThreadPrivate::start (arg=0x3e31640) at thread/qthread_unix.cpp:338
#9  0x0000003ba6207d15 in start_thread (arg=0x7f7e2313d700) at pthread_create.c:308
#10 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 9 (Thread 0x7f7e2234e700 (LWP 30264)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x00000037a3986a77 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x37a3c94660 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00000037a3986aa9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x0000003ba6207d15 in start_thread (arg=0x7f7e2234e700) at pthread_create.c:308
#4  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 8 (Thread 0x7f7e21231700 (LWP 30265)):
#0  0x0000003ba620e12d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba56840ff in read (__nbytes=16, __buf=0x7f7e21230ae0, __fd=<optimized out>) at /usr/include/bits/unistd.h:44
#2  g_wakeup_acknowledge (wakeup=0x7f7e14001f80) at gwakeup.c:212
#3  0x0000003ba56478f4 in g_main_context_check (context=context@entry=0x7f7e180009a0, max_priority=2147483647, fds=fds@entry=0x7f7e180029b0, n_fds=n_fds@entry=1) at gmain.c:3129
#4  0x0000003ba5647d02 in g_main_context_iterate (context=context@entry=0x7f7e180009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3287
#5  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7e180009a0, may_block=1) at gmain.c:3351
#6  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7e180008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7e21230cd0, flags=...) at kernel/qeventloop.cpp:149
#8  0x00000037967770b8 in QEventLoop::exec (this=0x7f7e21230cd0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x000000379675763f in QInotifyFileSystemWatcherEngine::run (this=0x5dfda30) at io/qfilesystemwatcher_inotify.cpp:248
#11 0x000000379667b7cc in QThreadPrivate::start (arg=0x5dfda30) at thread/qthread_unix.cpp:338
#12 0x0000003ba6207d15 in start_thread (arg=0x7f7e21231700) at pthread_create.c:308
#13 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 7 (Thread 0x7f7d929fb700 (LWP 30452)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x00000033aac1672d in WTF::TCMalloc_PageHeap::scavengerThread (this=0x33ab600ce0 <WTF::pageheap_memory>) at wtf/FastMalloc.cpp:2495
#2  0x00000033aac16839 in WTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at wtf/FastMalloc.cpp:1618
#3  0x0000003ba6207d15 in start_thread (arg=0x7f7d929fb700) at pthread_create.c:308
#4  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 6 (Thread 0x7f7d919f9700 (LWP 30453)):
#0  0x0000003ba620aacf in __pthread_mutex_unlock_usercnt (mutex=0x7f7d8c5737c0, decr=decr@entry=1) at pthread_mutex_unlock.c:52
#1  0x0000003ba620ab2a in __GI___pthread_mutex_unlock (mutex=<optimized out>) at pthread_mutex_unlock.c:297
#2  0x0000003ba5684df1 in g_mutex_unlock (mutex=mutex@entry=0x7f7d8c573700) at gthread-posix.c:227
#3  0x0000003ba5647864 in g_main_context_check (context=context@entry=0x7f7d8c573700, max_priority=2147483647, fds=fds@entry=0x7f7d8c01df30, n_fds=n_fds@entry=1) at gmain.c:3167
#4  0x0000003ba5647d02 in g_main_context_iterate (context=context@entry=0x7f7d8c573700, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3287
#5  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7d8c573700, may_block=1) at gmain.c:3351
#6  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7d8c014ab0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#7  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7d919f8d00, flags=...) at kernel/qeventloop.cpp:149
#8  0x00000037967770b8 in QEventLoop::exec (this=0x7f7d919f8d00, flags=...) at kernel/qeventloop.cpp:204
#9  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#10 0x000000379667b7cc in QThreadPrivate::start (arg=0x50ff8e0) at thread/qthread_unix.cpp:338
#11 0x0000003ba6207d15 in start_thread (arg=0x7f7d919f9700) at pthread_create.c:308
#12 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 5 (Thread 0x7f7d911f8700 (LWP 30492)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f7d80043df0, timeout=-1, context=0x7f7d802fbe90, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f7d802fbe90, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7d802fbe90, may_block=1) at gmain.c:3351
#4  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7d8031dda0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7d911f7cd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000037967770b8 in QEventLoop::exec (this=0x7f7d911f7cd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000379675763f in QInotifyFileSystemWatcherEngine::run (this=0x697cd30) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x000000379667b7cc in QThreadPrivate::start (arg=0x697cd30) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f7d911f8700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 4 (Thread 0x7f7d909f7700 (LWP 30494)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x000000379667bd2b in wait (time=18446744073709551615, this=0x695ff40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x689ce10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003f9d00aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x68dda80, th=0x689edc0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003f9d00d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x68f4150, th=0x689edc0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003f9d00c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f7d909f6d00, parent=0x68dda80, th=th@entry=0x689edc0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#6  0x0000003f9d00c21b in ThreadWeaver::Thread::run (this=0x689edc0) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#7  0x000000379667b7cc in QThreadPrivate::start (arg=0x689edc0) at thread/qthread_unix.cpp:338
#8  0x0000003ba6207d15 in start_thread (arg=0x7f7d909f7700) at pthread_create.c:308
#9  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 3 (Thread 0x7f7d3ae79700 (LWP 30583)):
#0  0x0000003ba5ae97ed in poll () at ../sysdeps/unix/syscall-template.S:81
#1  0x0000003ba5647d64 in g_main_context_poll (n_fds=1, fds=0x7f7d340021b0, timeout=-1, context=0x7f7d340009a0, priority=<optimized out>) at gmain.c:3584
#2  g_main_context_iterate (context=context@entry=0x7f7d340009a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3285
#3  0x0000003ba5647e84 in g_main_context_iteration (context=0x7f7d340009a0, may_block=1) at gmain.c:3351
#4  0x00000037967a6176 in QEventDispatcherGlib::processEvents (this=0x7f7d340008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7f7d3ae78cd0, flags=...) at kernel/qeventloop.cpp:149
#6  0x00000037967770b8 in QEventLoop::exec (this=0x7f7d3ae78cd0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00000037966787f0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x000000379675763f in QInotifyFileSystemWatcherEngine::run (this=0x7149070) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x000000379667b7cc in QThreadPrivate::start (arg=0x7149070) at thread/qthread_unix.cpp:338
#10 0x0000003ba6207d15 in start_thread (arg=0x7f7d3ae79700) at pthread_create.c:308
#11 0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 2 (Thread 0x7f7d3a678700 (LWP 30585)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:165
#1  0x000000379667bd2b in wait (time=18446744073709551615, this=0x695ff40) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x689ce10, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x0000003f9d00aad1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x68dda80, th=0x5cf1d70) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x0000003f9d00d31b in ThreadWeaver::WorkingHardState::applyForWork (this=0x68f4150, th=0x5cf1d70) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x0000003f9d00c18f in ThreadWeaver::ThreadRunHelper::run (this=this@entry=0x7f7d3a677d00, parent=0x68dda80, th=th@entry=0x5cf1d70) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:87
#6  0x0000003f9d00c21b in ThreadWeaver::Thread::run (this=0x5cf1d70) at /usr/src/debug/kdelibs-4.9.3/threadweaver/Weaver/Thread.cpp:142
#7  0x000000379667b7cc in QThreadPrivate::start (arg=0x5cf1d70) at thread/qthread_unix.cpp:338
#8  0x0000003ba6207d15 in start_thread (arg=0x7f7d3a678700) at pthread_create.c:308
#9  0x0000003ba5af22cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:114

Thread 1 (Thread 0x7f7e45597880 (LWP 30254)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x0000003f086d8b36 in KDevelop::TestController::testSuitesForProject (this=<optimized out>, project=<optimized out>) at /home/data/clones/kdevplatform/shell/testcontroller.cpp:96
#8  0x0000003f086d8b81 in KDevelop::TestController::findTestSuite (this=<optimized out>, project=<optimized out>, name=...) at /home/data/clones/kdevplatform/shell/testcontroller.cpp:80
#9  0x0000003f086d89e8 in KDevelop::TestController::addTestSuite (this=<optimized out>, suite=<optimized out>) at /home/data/clones/kdevplatform/shell/testcontroller.cpp:69
#10 0x00007f7d92c1e9a7 in CTestFindJob::updateReady (this=0x76a4d20, document=..., context=...) at /home/data/clones/kdevelop/projectmanagers/cmake/testing/ctestfindjob.cpp:85
#11 0x000000379677ff27 in QMetaMethod::invoke (this=this@entry=0x7fff79f024b0, object=object@entry=0x76a4d20, connectionType=connectionType@entry=Qt::DirectConnection, returnValue=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1664
#12 0x00000037967822fc in QMetaObject::invokeMethod (obj=0x76a4d20, member=<optimized out>, type=Qt::DirectConnection, ret=..., val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at kernel/qmetaobject.cpp:1179
#13 0x0000003f0788e602 in QMetaObject::invokeMethod (obj=<optimized out>, member=<optimized out>, type=<optimized out>, val0=..., val1=..., val2=..., val3=..., val4=..., val5=..., val6=..., val7=..., val8=..., val9=...) at /usr/include/QtCore/qobjectdefs.h:418
#14 0x0000003f078ac85f in KDevelop::DUChain::updateContextForUrl (this=<optimized out>, document=..., minFeatures=<optimized out>, notifyReady=<optimized out>, priority=<optimized out>) at /home/data/clones/kdevplatform/language/duchain/duchain.cpp:1705
#15 0x00007f7d92c1ebe1 in CTestFindJob::findTestCases (this=0x76a4d20) at /home/data/clones/kdevelop/projectmanagers/cmake/testing/ctestfindjob.cpp:68
#16 0x000000379678c9ee in QObject::event (this=0x76a4d20, e=<optimized out>) at kernel/qobject.cpp:1195
#17 0x00000038cf5ca4cc in QApplicationPrivate::notify_helper (this=this@entry=0x1af5250, receiver=receiver@entry=0x76a4d20, e=e@entry=0x76a56c0) at kernel/qapplication.cpp:4557
#18 0x00000038cf5ce94a in QApplication::notify (this=0x7fff79f037f0, receiver=0x76a4d20, e=0x76a56c0) at kernel/qapplication.cpp:4418
#19 0x0000003f9784449e in KApplication::notify (this=<optimized out>, receiver=<optimized out>, event=<optimized out>) at /home/progdan/projects/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#20 0x00000037967780de in QCoreApplication::notifyInternal (this=0x7fff79f037f0, receiver=receiver@entry=0x76a4d20, event=event@entry=0x76a56c0) at kernel/qcoreapplication.cpp:915
#21 0x000000379677bb91 in sendEvent (event=0x76a56c0, receiver=0x76a4d20) at kernel/qcoreapplication.h:231
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1a3a100) at kernel/qcoreapplication.cpp:1539
#23 0x00000037967a5fc3 in sendPostedEvents () at kernel/qcoreapplication.h:236
#24 postEventSourceDispatch (s=s@entry=0x1af6850) at kernel/qeventdispatcher_glib.cpp:279
#25 0x0000003ba5647a95 in g_main_dispatch (context=0x1af6620) at gmain.c:2715
#26 g_main_context_dispatch (context=context@entry=0x1af6620) at gmain.c:3219
#27 0x0000003ba5647dc8 in g_main_context_iterate (context=context@entry=0x1af6620, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3290
#28 0x0000003ba5647e84 in g_main_context_iteration (context=0x1af6620, may_block=1) at gmain.c:3351
#29 0x00000037967a6156 in QEventDispatcherGlib::processEvents (this=0x1a3b5c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#30 0x00000038cf66a5de in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:207
#31 0x0000003796776e2f in QEventLoop::processEvents (this=this@entry=0x7fff79f03400, flags=...) at kernel/qeventloop.cpp:149
#32 0x00000037967770b8 in QEventLoop::exec (this=0x7fff79f03400, flags=...) at kernel/qeventloop.cpp:204
#33 0x000000379677bea8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#34 0x000000000040d531 in main (argc=<optimized out>, argv=<optimized out>) at /home/data/clones/kdevelop/app/main.cpp:503

Reported using DrKonqi
Comment 1 Milian Wolff 2012-11-11 13:23:45 UTC
That looks odd, a nullptr in the list? If you can reproduce this, please run kdevelop through valgrind:

valgrind --smc-check=all --track-origins=yes kdevelop -s ...
Comment 2 Daniel Vrátil 2012-11-11 15:15:49 UTC
==15855== Memcheck, a memory error detector
==15855== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
==15855== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
==15855== Command: kdevelop -s {b91102ff-920b-44a6-b071-906f7a658c3b}
==15855== 
==15855== Warning: set address range perms: large range [0x3aee0000, 0xbaee0000) (defined)
==15942== 
==15942== HEAP SUMMARY:
==15942==     in use at exit: 67,375,477 bytes in 269,284 blocks
==15942==   total heap usage: 1,204,131 allocs, 934,847 frees, 424,944,292 bytes allocated
==15942== 
==15942== LEAK SUMMARY:
==15942==    definitely lost: 265,537 bytes in 50 blocks
==15942==    indirectly lost: 45,072 bytes in 1,385 blocks
==15942==      possibly lost: 6,288,131 bytes in 103,159 blocks
==15942==    still reachable: 60,776,737 bytes in 164,690 blocks
==15942==         suppressed: 0 bytes in 0 blocks
==15942== Rerun with --leak-check=full to see details of leaked memory
==15942== 
==15942== For counts of detected and suppressed errors, rerun with: -v
==15942== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 2 from 2)
==15855== Warning: set address range perms: large range [0xbaee0000, 0xfaee0000) (defined)
==15855== Invalid read of size 8
==15855==    at 0x38CF5C299A: qt_blend_argb32_on_argb32_ssse3(unsigned char*, int, unsigned char const*, int, int, int, int) (qdrawhelper_ssse3.cpp:179)
==15855==    by 0x38CF78C49C: QRasterPaintEngine::drawImage(QPointF const&, QImage const&) (qpaintengine_raster.cpp:2187)
==15855==    by 0x38CF795FE5: QRasterPaintEngine::drawPixmap(QPointF const&, QPixmap const&) (qpaintengine_raster.cpp:2062)
==15855==    by 0x38CF71877C: QPainter::drawPixmap(QPointF const&, QPixmap const&) (qpainter.cpp:5344)
==15855==    by 0xD1BC0AA: Oxygen::StyleHelper::progressBarIndicator(QPalette const&, int) (qpainter.h:852)
==15855==    by 0xD1934A4: Oxygen::Style::drawProgressBarContentsControl(QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:4821)
==15855==    by 0xD193FCD: Oxygen::Style::drawProgressBarControl(QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:4736)
==15855==    by 0xD191333: Oxygen::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:1124)
==15855==    by 0x38CFA0E354: QProgressBar::paintEvent(QPaintEvent*) (qstylepainter.h:89)
==15855==    by 0x38CF619CB1: QWidget::event(QEvent*) (qwidget.cpp:8517)
==15855==    by 0x38CFA0EE36: QProgressBar::event(QEvent*) (qprogressbar.cpp:569)
==15855==    by 0x38CF5CA4CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4557)
==15855==  Address 0x29891358 is 0 bytes after a block of size 728 alloc'd
==15855==    at 0x4A0883C: malloc (vg_replace_malloc.c:270)
==15855==    by 0x38CF680685: QImageData::create(QSize const&, QImage::Format, int) (qimage.cpp:209)
==15855==    by 0x38CF680BBA: QImage::QImage(int, int, QImage::Format) (qimage.cpp:811)
==15855==    by 0x38CF6A7ED6: QRasterPixmapData::resize(int, int) (qpixmap_raster.cpp:122)
==15855==    by 0x38CF6A044E: QPixmapData::create(int, int, QPixmapData::PixelType) (qpixmapdata.cpp:63)
==15855==    by 0x38CF698BB6: QPixmap::init(int, int, int) (qpixmap.cpp:144)
==15855==    by 0x38CF699F37: QPixmap::QPixmap(QSize const&) (qpixmap.cpp:217)
==15855==    by 0xD1BBC4D: Oxygen::StyleHelper::progressBarIndicator(QPalette const&, int) (oxygenstylehelper.cpp:334)
==15855==    by 0xD1934A4: Oxygen::Style::drawProgressBarContentsControl(QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:4821)
==15855==    by 0xD193FCD: Oxygen::Style::drawProgressBarControl(QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:4736)
==15855==    by 0xD191333: Oxygen::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (oxygenstyle.cpp:1124)
==15855==    by 0x38CFA0E354: QProgressBar::paintEvent(QPaintEvent*) (qstylepainter.h:89)
==15855== 
==15855== Invalid read of size 8
==15855==    at 0x4D23B2F: KDevelop::TestController::testSuitesForProject(KDevelop::IProject*) const (testcontroller.cpp:96)
==15855==    by 0x4D23B80: KDevelop::TestController::findTestSuite(KDevelop::IProject*, QString const&) const (testcontroller.cpp:80)
==15855==    by 0x4D239E7: KDevelop::TestController::addTestSuite(KDevelop::ITestSuite*) (testcontroller.cpp:69)
==15855==    by 0x27FC99A6: CTestFindJob::updateReady(KDevelop::IndexedString const&, KDevelop::ReferencedTopDUContext const&) (ctestfindjob.cpp:85)
==15855==    by 0x379677FF26: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1664)
==15855==    by 0x37967822FB: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1179)
==15855==    by 0x3F0788E601: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:418)
==15855==    by 0x3F078AC85E: KDevelop::DUChain::updateContextForUrl(KDevelop::IndexedString const&, KDevelop::TopDUContext::Features, QObject*, int) const (duchain.cpp:1705)
==15855==    by 0x27FC9BE0: CTestFindJob::findTestCases() (ctestfindjob.cpp:68)
==15855==    by 0x379678C9ED: QObject::event(QEvent*) (qobject.cpp:1195)
==15855==    by 0x38CF5CA4CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4557)
==15855==    by 0x38CF5CE949: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4418)
==15855==  Address 0x2b6076a0 is 0 bytes inside a block of size 80 free'd
==15855==    at 0x4A0738C: operator delete(void*) (vg_replace_malloc.c:480)
==15855==    by 0x4D23A0F: KDevelop::TestController::addTestSuite(KDevelop::ITestSuite*) (testcontroller.cpp:72)
==15855==    by 0x27FC99A6: CTestFindJob::updateReady(KDevelop::IndexedString const&, KDevelop::ReferencedTopDUContext const&) (ctestfindjob.cpp:85)
==15855==    by 0x379677FF26: QMetaMethod::invoke(QObject*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) const (qmetaobject.cpp:1664)
==15855==    by 0x37967822FB: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qmetaobject.cpp:1179)
==15855==    by 0x3F0788E601: QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) (qobjectdefs.h:418)
==15855==    by 0x3F078AC85E: KDevelop::DUChain::updateContextForUrl(KDevelop::IndexedString const&, KDevelop::TopDUContext::Features, QObject*, int) const (duchain.cpp:1705)
==15855==    by 0x27FC9BE0: CTestFindJob::findTestCases() (ctestfindjob.cpp:68)
==15855==    by 0x379678C9ED: QObject::event(QEvent*) (qobject.cpp:1195)
==15855==    by 0x38CF5CA4CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4557)
==15855==    by 0x38CF5CE949: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4418)
==15855==    by 0x3F9784449D: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:311)
==15855== 
pure virtual method called
terminate called without an active exception
KCrash: crashing... crashRecursionCounter = 2
KCrash: Application Name = kdevelop path = /usr/bin pid = 15855
KCrash: Arguments: /usr/bin/kdevelop --nocrashhandler -s {b91102ff-920b-44a6-b071-906f7a658c3b}
KCrash: Attempting to start /usr/libexec/kde4/drkonqi from kdeinit
==15855== Thread 12:
==15855== Invalid read of size 2
==15855==    at 0x37967A59F3: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92)
==15855==    by 0x3BA564786B: g_main_context_check (gmain.c:3169)
==15855==    by 0x3BA5647D01: g_main_context_iterate.isra.24 (gmain.c:3287)
==15855==    by 0x3BA5647E83: g_main_context_iteration (gmain.c:3351)
==15855==    by 0x37967A6175: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:426)
==15855==    by 0x3796776E2E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==15855==    by 0x37967770B7: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
==15855==    by 0x37966787EF: QThread::exec() (qthread.cpp:501)
==15855==    by 0x379675763E: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
==15855==    by 0x379667B7CB: QThreadPrivate::start(void*) (qthread_unix.cpp:338)
==15855==    by 0x3BA6207D14: start_thread (pthread_create.c:308)
==15855==    by 0x3BA5AF22CC: clone (clone.S:114)
==15855==  Address 0x2ca12386 is 6 bytes inside a block of size 16 free'd
==15855==    at 0x4A0738C: operator delete(void*) (vg_replace_malloc.c:480)
==15855==    by 0x37967A59F2: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92)
==15855==    by 0x3BA564786B: g_main_context_check (gmain.c:3169)
==15855==    by 0x3BA5647D01: g_main_context_iterate.isra.24 (gmain.c:3287)
==15855==    by 0x3BA5647E83: g_main_context_iteration (gmain.c:3351)
==15855==    by 0x37967A6175: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:426)
==15855==    by 0x3796776E2E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==15855==    by 0x37967770B7: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
==15855==    by 0x37966787EF: QThread::exec() (qthread.cpp:501)
==15855==    by 0x379675763E: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
==15855==    by 0x379667B7CB: QThreadPrivate::start(void*) (qthread_unix.cpp:338)
==15855==    by 0x3BA6207D14: start_thread (pthread_create.c:308)
==15855== 
==15855== Invalid read of size 2
==15855==    at 0x37967A59FB: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:83)
==15855==    by 0x3BA564786B: g_main_context_check (gmain.c:3169)
==15855==    by 0x3BA5647D01: g_main_context_iterate.isra.24 (gmain.c:3287)
==15855==    by 0x3BA5647E83: g_main_context_iteration (gmain.c:3351)
==15855==    by 0x37967A6175: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:426)
==15855==    by 0x3796776E2E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==15855==    by 0x37967770B7: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
==15855==    by 0x37966787EF: QThread::exec() (qthread.cpp:501)
==15855==    by 0x379675763E: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
==15855==    by 0x379667B7CB: QThreadPrivate::start(void*) (qthread_unix.cpp:338)
==15855==    by 0x3BA6207D14: start_thread (pthread_create.c:308)
==15855==    by 0x3BA5AF22CC: clone (clone.S:114)
==15855==  Address 0x2ca12384 is 4 bytes inside a block of size 16 free'd
==15855==    at 0x4A0738C: operator delete(void*) (vg_replace_malloc.c:480)
==15855==    by 0x37967A59F2: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92)
==15855==    by 0x3BA564786B: g_main_context_check (gmain.c:3169)
==15855==    by 0x3BA5647D01: g_main_context_iterate.isra.24 (gmain.c:3287)
==15855==    by 0x3BA5647E83: g_main_context_iteration (gmain.c:3351)
==15855==    by 0x37967A6175: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:426)
==15855==    by 0x3796776E2E: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149)
==15855==    by 0x37967770B7: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:204)
==15855==    by 0x37966787EF: QThread::exec() (qthread.cpp:501)
==15855==    by 0x379675763E: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248)
==15855==    by 0x379667B7CB: QThreadPrivate::start(void*) (qthread_unix.cpp:338)
==15855==    by 0x3BA6207D14: start_thread (pthread_create.c:308)
==15855==
Comment 3 Milian Wolff 2012-11-11 17:02:04 UTC
Git commit 0da939c3507868e9278f2da7649649df3c80fdd5 by Milian Wolff.
Committed on 11/11/2012 at 18:00.
Pushed by mwolff into branch 'master'.

Ensure we do not delete the suite that is re-added.

M  +3    -0    shell/testcontroller.cpp

http://commits.kde.org/kdevplatform/0da939c3507868e9278f2da7649649df3c80fdd5
Comment 4 Milian Wolff 2012-11-11 17:02:22 UTC
hope the fix helps, if not please reopen.