Bug 219105 - KDevelop crashed at quit
Summary: KDevelop crashed at quit
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Build tools: CMake (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: VHI crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 219112 220537 221365 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-12-17 21:15 UTC by Albert Zeyer
Modified: 2010-02-11 17:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Albert Zeyer 2009-12-17 21:15:29 UTC
Application that crashed: kdevelop
Version of the application: 3.9.97 (using KDevPlatform 0.9.97)
KDE Version: 4.3.3 (KDE 4.3.3)
Qt Version: 4.5.3
Operating System: Linux 2.6.27-gentoo-r8 i686

 -- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
[Current thread is 1 (Thread 0xb5462920 (LWP 4382))]

Thread 9 (Thread 0xb2412b90 (LWP 4383)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19fa2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb6e73e16 in QWaitConditionPrivate::wait (this=0x9665174, mutex=0x9665178, time=200000) at thread/qwaitcondition_unix.cpp:85
#3  QWaitCondition::wait (this=0x9665174, mutex=0x9665178, time=200000) at thread/qwaitcondition_unix.cpp:159
#4  0xb5efa185 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x9665168) at /home/az/Programmierung/kdevplatform/language/duchain/duchain.cpp:286
#5  0xb6e73110 in QThreadPrivate::start (arg=0x9665168) at thread/qthread_unix.cpp:188
#6  0xb6e1615f in start_thread (arg=0xb2412b90) at pthread_create.c:297
#7  0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 8 (Thread 0xb130eb90 (LWP 4384)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19c75 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb6e73e3c in QWaitConditionPrivate::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb7836e7e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9839a28, th=0x97de978)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:365
#5  0xb78390bd in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x9839a98, th=0x97de978)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:80
#6  0xb78356e3 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9839a28, th=0x97de978) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:356
#7  0xb78391a4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x9839a98, th=0x97de978)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:71
#8  0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9839a28, th=0x97de978, previous=0x0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#9  0xb78391c3 in ThreadWeaver::WorkingHardState::applyForWork (this=0x9839a98, th=0x97de978)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:74
#10 0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9839a28, th=0x97de978, previous=0xa2b7730)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#11 0xb783764b in ThreadWeaver::ThreadRunHelper::run (this=0xb130e304, parent=0x9839a28, th=0x97de978)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:87
#12 0xb7837b9c in ThreadWeaver::Thread::run (this=0x97de978) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:142
#13 0xb6e73110 in QThreadPrivate::start (arg=0x97de978) at thread/qthread_unix.cpp:188
#14 0xb6e1615f in start_thread (arg=0xb130eb90) at pthread_create.c:297
#15 0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 7 (Thread 0xb0b0db90 (LWP 4385)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19fa2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb6e73e16 in QWaitConditionPrivate::wait (this=0x987af18, mutex=0x987af14, time=30000) at thread/qwaitcondition_unix.cpp:85
#3  QWaitCondition::wait (this=0x987af18, mutex=0x987af14, time=30000) at thread/qwaitcondition_unix.cpp:159
#4  0xb6e6b328 in QThreadPoolThread::run (this=0x987afb0) at concurrent/qthreadpool.cpp:140
#5  0xb6e73110 in QThreadPrivate::start (arg=0x987afb0) at thread/qthread_unix.cpp:188
#6  0xb6e1615f in start_thread (arg=0xb0b0db90) at pthread_create.c:297
#7  0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xaf21ab90 (LWP 4386)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6486f61 in select () from /lib/libc.so.6
#2  0xb6f2b26c in QProcessManager::run (this=0x9508bb0) at io/qprocess_unix.cpp:296
#3  0xb6e73110 in QThreadPrivate::start (arg=0x9508bb0) at thread/qthread_unix.cpp:188
#4  0xb6e1615f in start_thread (arg=0xaf21ab90) at pthread_create.c:297
#5  0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xaad50b90 (LWP 4493)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19c75 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb6e73e3c in QWaitConditionPrivate::wait (this=0x96bf938, mutex=0x96ee040, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x96bf938, mutex=0x96ee040, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb7836e7e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x96bf920, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:365
#5  0xb78390bd in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x96ec460, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:80
#6  0xb78356e3 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x96bf920, th=0xa506890) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:356
#7  0xb78391a4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x96ec460, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:71
#8  0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x96bf920, th=0xa506890, previous=0x0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#9  0xb78391c3 in ThreadWeaver::WorkingHardState::applyForWork (this=0x96ec460, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:74
#10 0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x96bf920, th=0xa506890, previous=0x0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#11 0xb78391c3 in ThreadWeaver::WorkingHardState::applyForWork (this=0x96ec460, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:74
#12 0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x96bf920, th=0xa506890, previous=0xa9676640)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#13 0xb783764b in ThreadWeaver::ThreadRunHelper::run (this=0xaad50304, parent=0x96bf920, th=0xa506890)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:87
#14 0xb7837b9c in ThreadWeaver::Thread::run (this=0xa506890) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:142
#15 0xb6e73110 in QThreadPrivate::start (arg=0xa506890) at thread/qthread_unix.cpp:188
#16 0xb6e1615f in start_thread (arg=0xaad50b90) at pthread_create.c:297
#17 0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xaa54fb90 (LWP 4494)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19c75 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb6e73e3c in QWaitConditionPrivate::wait (this=0x96bf938, mutex=0x96ee040, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x96bf938, mutex=0x96ee040, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb7836e7e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x96bf920, th=0xa8b0168)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:365
#5  0xb78390bd in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x96ec460, th=0xa8b0168)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:80
#6  0xb78356e3 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x96bf920, th=0xa8b0168) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:356
#7  0xb78391a4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x96ec460, th=0xa8b0168)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:71
#8  0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x96bf920, th=0xa8b0168, previous=0xa9610cd8)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#9  0xb783764b in ThreadWeaver::ThreadRunHelper::run (this=0xaa54f304, parent=0x96bf920, th=0xa8b0168)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:87
#10 0xb7837b9c in ThreadWeaver::Thread::run (this=0xa8b0168) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:142
#11 0xb6e73110 in QThreadPrivate::start (arg=0xa8b0168) at thread/qthread_unix.cpp:188
#12 0xb6e1615f in start_thread (arg=0xaa54fb90) at pthread_create.c:297
#13 0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xa85ffb90 (LWP 4594)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19c75 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb6e73e3c in QWaitConditionPrivate::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb7836e7e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9839a28, th=0xc2d1658)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:365
#5  0xb78390bd in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x9839a98, th=0xc2d1658)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:80
#6  0xb78356e3 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9839a28, th=0xc2d1658) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:356
#7  0xb78391a4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x9839a98, th=0xc2d1658)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:71
#8  0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9839a28, th=0xc2d1658, previous=0xbc326e0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#9  0xb783764b in ThreadWeaver::ThreadRunHelper::run (this=0xa85ff304, parent=0x9839a28, th=0xc2d1658)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:87
#10 0xb7837b9c in ThreadWeaver::Thread::run (this=0xc2d1658) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:142
#11 0xb6e73110 in QThreadPrivate::start (arg=0xc2d1658) at thread/qthread_unix.cpp:188
#12 0xb6e1615f in start_thread (arg=0xa85ffb90) at pthread_create.c:297
#13 0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xa63ffb90 (LWP 5207)):
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb6e19c75 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb6e73e3c in QWaitConditionPrivate::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#3  QWaitCondition::wait (this=0x9839a40, mutex=0x97d4c08, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#4  0xb7836e7e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9839a28, th=0xbd12ca0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:365
#5  0xb78390bd in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x9839a98, th=0xbd12ca0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:80
#6  0xb78356e3 in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x9839a28, th=0xbd12ca0) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:356
#7  0xb78391a4 in ThreadWeaver::WorkingHardState::applyForWork (this=0x9839a98, th=0xbd12ca0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:71
#8  0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9839a28, th=0xbd12ca0, previous=0x0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#9  0xb78391c3 in ThreadWeaver::WorkingHardState::applyForWork (this=0x9839a98, th=0xbd12ca0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WorkingHardState.cpp:74
#10 0xb78370d3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x9839a28, th=0xbd12ca0, previous=0x0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/WeaverImpl.cpp:351
#11 0xb783764b in ThreadWeaver::ThreadRunHelper::run (this=0xa63ff304, parent=0x9839a28, th=0xbd12ca0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:87
#12 0xb7837b9c in ThreadWeaver::Thread::run (this=0xbd12ca0) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/threadweaver/Weaver/Thread.cpp:142
#13 0xb6e73110 in QThreadPrivate::start (arg=0xbd12ca0) at thread/qthread_unix.cpp:188
#14 0xb6e1615f in start_thread (arg=0xa63ffb90) at pthread_create.c:297
#15 0xb648dc0e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb5462920 (LWP 4382)):
[KCrash Handler]
#6  0x000000e0 in ?? ()
#7  0xb5ec932f in KDevelop::BackgroundParserPrivate::createParseJob(KUrl const&, KDevelop::TopDUContext::Features, QList<QPointer<QObject> >) ()
   from /home/az/kdevelop4/lib/libkdevplatformlanguage.so.1
#8  0xb5ecb7a4 in KDevelop::BackgroundParserPrivate::parseDocumentsInternal() () from /home/az/kdevelop4/lib/libkdevplatformlanguage.so.1
#9  0xb5ec6d39 in KDevelop::BackgroundParser::parseDocuments (this=0x96bf900) at /home/az/Programmierung/kdevplatform/language/backgroundparser/backgroundparser.cpp:514
#10 0xb5ec7af9 in KDevelop::BackgroundParser::qt_metacall (this=0x96bf900, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xa6f79a98)
    at /home/az/Programmierung/kdevplatform/build/language/backgroundparser.moc:169
#11 0xb6f53f4f in QMetaCallEvent::placeMetaCall (this=0xadc52218, object=0x96bf900) at kernel/qobject.cpp:477
#12 0xb6f55b7f in QObject::event (this=0x96bf900, e=0xadc52218) at kernel/qobject.cpp:1099
#13 0xb674ea8b in QApplicationPrivate::notify_helper (this=0x9505898, receiver=0x96bf900, e=0xadc52218) at kernel/qapplication.cpp:4065
#14 0xb67563c6 in QApplication::notify (this=0xbfb945a4, receiver=0x96bf900, e=0xadc52218) at kernel/qapplication.cpp:3605
#15 0xb72024a7 in KApplication::notify (this=0xbfb945a4, receiver=0x96bf900, event=0xadc52218) at /var/tmp/portage/kde-base/kdelibs-4.3.3-r1/work/kdelibs-4.3.3/kdeui/kernel/kapplication.cpp:302
#16 0xb6f4753d in QCoreApplication::notifyInternal (this=0xbfb945a4, receiver=0x96bf900, event=0xadc52218) at kernel/qcoreapplication.cpp:606
#17 0xb6f47d63 in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x946eb28) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#18 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x946eb28) at kernel/qcoreapplication.cpp:1244
#19 0xb6f47f20 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140
#20 0xb6f6ca88 in QCoreApplication::sendPostedEvents (s=0x9507b20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#21 postEventSourceDispatch (s=0x9507b20) at kernel/qeventdispatcher_glib.cpp:210
#22 0xb56a03ec in g_main_dispatch (context=0x9507a90) at gmain.c:1824
#23 IA__g_main_context_dispatch (context=0x9507a90) at gmain.c:2377
#24 0xb56a36f9 in g_main_context_iterate (context=0x9507a90, block=1, dispatch=1, self=0x9505360) at gmain.c:2455
#25 0xb56a386a in IA__g_main_context_iteration (context=0x9507a90, may_block=1) at gmain.c:2518
#26 0xb6f6c72d in QEventDispatcherGlib::processEvents (this=0x946e878, flags=...) at kernel/qeventdispatcher_glib.cpp:327
#27 0xb67d64ce in QGuiEventDispatcherGlib::processEvents (this=0x946e878, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb6f45f0f in QEventLoop::processEvents (this=0xbfb944d0, flags=...) at kernel/qeventloop.cpp:149
#29 0xb6f460db in QEventLoop::exec (this=0xbfb944d0, flags=...) at kernel/qeventloop.cpp:197
#30 0xb6f47fcd in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#31 0xb674e93c in QApplication::exec () at kernel/qapplication.cpp:3525
#32 0x0804db0b in main (argc=3, argv=0xbfb94aa4) at /home/az/Programmierung/kdevelop/app/main.cpp:196

Reported using DrKonqi
Comment 1 Andreas Pakulat 2009-12-18 06:02:23 UTC
*** Bug 219112 has been marked as a duplicate of this bug. ***
Comment 2 Andreas Pakulat 2009-12-29 18:46:26 UTC
*** Bug 220537 has been marked as a duplicate of this bug. ***
Comment 3 Andreas Pakulat 2010-01-05 12:25:34 UTC
*** Bug 221365 has been marked as a duplicate of this bug. ***
Comment 4 Andreas Pakulat 2010-01-05 12:27:08 UTC
This should be fixed in current svn, particularly revision r1070014
Comment 5 Milian Wolff 2010-01-07 20:37:57 UTC
Reopening since jmho found a way to reproduce this crash (though now with a zero-pointer dereference - in a line without any pointer dereferences....)

I tried to debug this but can't find something useful so far with gdb. *it is valid, it points to a KUrl with a proper QUrl (but the KUrl d-pointer is 0 - could that be the issue?)...

Will try again with valgrind now.

To reproduce: Close all files and open projects. Then open a project -> the background parser should kick in and eventually leads to a crash...

Application: KDevelop (kdevelop), signal: Segmentation fault
[Current thread is 1 (Thread 0xb5058920 (LWP 7896))]

Thread 13 (Thread 0xb214db70 (LWP 7897)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e3d2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb61b2884 in __pthread_cond_timedwait (cond=0x8dd2010, mutex=0x8dd1ff8, abstime=0xb214d30c) at forward.c:152
#3  0xb6db859c in QWaitConditionPrivate::wait (this=0x8ae2b5c, mutex=0x8ae2b60, time=200000) at thread/qwaitcondition_unix.cpp:85
#4  QWaitCondition::wait (this=0x8ae2b5c, mutex=0x8ae2b60, time=200000) at thread/qwaitcondition_unix.cpp:159
#5  0xb5c013e7 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x8ae2b50) at /home/milianw/projects/kde4/kdevplatform/language/duchain/duchain.cpp:286
#6  0xb6db75e2 in QThreadPrivate::start (arg=0x8ae2b50) at thread/qthread_unix.cpp:188
#7  0xb551a585 in start_thread (arg=0xb214db70) at pthread_create.c:300
#8  0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 12 (Thread 0xb0e79b70 (LWP 7899)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8e1a928, mutex=0x8e1a910) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8eae068, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ea8130, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8eae068, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x8eaf3c0, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x8eaf3c0, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x8eaf3c0, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x8eaf3c0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#15 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x8eaf3c0, previous=0xa7689c0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#16 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xb0e79330, parent=0x8eae068, th=0x8eaf3c0) at ../../../threadweaver/Weaver/Thread.cpp:87
#17 0xb7925afb in ThreadWeaver::Thread::run (this=0x8eaf3c0) at ../../../threadweaver/Weaver/Thread.cpp:142
#18 0xb6db75e2 in QThreadPrivate::start (arg=0x8eaf3c0) at thread/qthread_unix.cpp:188
#19 0xb551a585 in start_thread (arg=0xb0e79b70) at pthread_create.c:300
#20 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 11 (Thread 0xae412b70 (LWP 7982)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb6197b47 in *__GI___poll (fds=0x93ae258, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#2  0xb546675b in g_poll () from /lib/libglib-2.0.so.0
#3  0xb5459585 in ?? () from /lib/libglib-2.0.so.0
#4  0xb5459838 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#5  0xb6ed305f in QEventDispatcherGlib::processEvents (this=0x9492cb0, flags=...) at kernel/qeventdispatcher_glib.cpp:409
#6  0xb6ea683a in QEventLoop::processEvents (this=0xae412300, flags=...) at kernel/qeventloop.cpp:149
#7  0xb6ea6c82 in QEventLoop::exec (this=0xae412300, flags=...) at kernel/qeventloop.cpp:201
#8  0xb6db4309 in QThread::exec (this=0x9492a30) at thread/qthread.cpp:487
#9  0xb5d0b103 in KDevelop::CompletionWorkerThread::run (this=0x9492a30) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#10 0xb6db75e2 in QThreadPrivate::start (arg=0x9492a30) at thread/qthread_unix.cpp:188
#11 0xb551a585 in start_thread (arg=0xae412b70) at pthread_create.c:300
#12 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 10 (Thread 0xadc11b70 (LWP 8035)):
#0  0xb6ed30c1 in timerSourceCheckHelper (src=0x963d9c0) at kernel/qeventdispatcher_glib.cpp:144
#1  0xb5458cfe in g_main_context_check () from /lib/libglib-2.0.so.0
#2  0xb54595e5 in ?? () from /lib/libglib-2.0.so.0
#3  0xb5459838 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#4  0xb6ed305f in QEventDispatcherGlib::processEvents (this=0x91920e0, flags=...) at kernel/qeventdispatcher_glib.cpp:409
#5  0xb6ea683a in QEventLoop::processEvents (this=0xadc11300, flags=...) at kernel/qeventloop.cpp:149
#6  0xb6ea6c82 in QEventLoop::exec (this=0xadc11300, flags=...) at kernel/qeventloop.cpp:201
#7  0xb6db4309 in QThread::exec (this=0x9646800) at thread/qthread.cpp:487
#8  0xb5d0b103 in KDevelop::CompletionWorkerThread::run (this=0x9646800) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#9  0xb6db75e2 in QThreadPrivate::start (arg=0x9646800) at thread/qthread_unix.cpp:188
#10 0xb551a585 in start_thread (arg=0xadc11b70) at pthread_create.c:300
#11 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 9 (Thread 0xaa9dcb70 (LWP 8036)):
#0  0xb54d5e4c in *__GI_clock_gettime (clock_id=-1253203980, tp=0xaa9dc0a8) at ../sysdeps/unix/clock_gettime.c:100
#1  0xb6ed4e9b in QTimerInfoList::getTime (this=0x968811c, t=...) at kernel/qeventdispatcher_unix.cpp:339
#2  0xb6ed5061 in QTimerInfoList::updateCurrentTime (this=0x968811c) at kernel/qeventdispatcher_unix.cpp:297
#3  0xb6ed521a in QTimerInfoList::timerWait (this=0x968811c, tm=...) at kernel/qeventdispatcher_unix.cpp:420
#4  0xb6ed3220 in timerSourcePrepareHelper (src=0xaa9dc0a8, timeout=0xaa9dc198) at kernel/qeventdispatcher_glib.cpp:136
#5  0xb6ed32a5 in timerSourcePrepare (source=0x0, timeout=0xb54d9ff4) at kernel/qeventdispatcher_glib.cpp:169
#6  0xb5458fd0 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#7  0xb5459394 in ?? () from /lib/libglib-2.0.so.0
#8  0xb5459838 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#9  0xb6ed305f in QEventDispatcherGlib::processEvents (this=0x915dd70, flags=...) at kernel/qeventdispatcher_glib.cpp:409
#10 0xb6ea683a in QEventLoop::processEvents (this=0xaa9dc300, flags=...) at kernel/qeventloop.cpp:149
#11 0xb6ea6c82 in QEventLoop::exec (this=0xaa9dc300, flags=...) at kernel/qeventloop.cpp:201
#12 0xb6db4309 in QThread::exec (this=0xad1b2b40) at thread/qthread.cpp:487
#13 0xb5d0b103 in KDevelop::CompletionWorkerThread::run (this=0xad1b2b40) at /home/milianw/projects/kde4/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#14 0xb6db75e2 in QThreadPrivate::start (arg=0xad1b2b40) at thread/qthread_unix.cpp:188
#15 0xb551a585 in start_thread (arg=0xaa9dcb70) at pthread_create.c:300
#16 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 8 (Thread 0xaa1dbb70 (LWP 8037)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e3d2 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_timedwait.S:179
#2  0xb61b2884 in __pthread_cond_timedwait (cond=0xaa1db294, mutex=0xaa1db2c4, abstime=0xaa1db300) at forward.c:152
#3  0xb6db6fee in thread_sleep (ti=0xaa1db300) at thread/qthread_unix.cpp:297
#4  0xb6db711b in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:323
#5  0xab368983 in UIBlockTester::UIBlockTesterThread::run (this=0x968ae80) at /home/milianw/projects/kde4/kdevelop/languages/cpp/cpplanguagesupport.cpp:672
#6  0xb6db75e2 in QThreadPrivate::start (arg=0x968ae80) at thread/qthread_unix.cpp:188
#7  0xb551a585 in start_thread (arg=0xaa1dbb70) at pthread_create.c:300
#8  0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
The current source language is "auto; currently c".

Thread 7 (Thread 0xa96b4b70 (LWP 8090)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8d093f8, mutex=0x8d093e0) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8d092d8, th=0x9c32b88) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8d09618, th=0x9c32b88) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8d092d8, th=0x9c32b88) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8d09618, th=0x9c32b88) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8d092d8, th=0x9c32b88, previous=0xa148980) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xa96b4330, parent=0x8d092d8, th=0x9c32b88) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xb7925afb in ThreadWeaver::Thread::run (this=0x9c32b88) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb6db75e2 in QThreadPrivate::start (arg=0x9c32b88) at thread/qthread_unix.cpp:188
#13 0xb551a585 in start_thread (arg=0xa96b4b70) at pthread_create.c:300
#14 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 6 (Thread 0xa8eb3b70 (LWP 8091)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8d093f8, mutex=0x8d093e0) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8d092d8, th=0x9dcc878) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8d09618, th=0x9dcc878) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8d092d8, th=0x9dcc878) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8d09618, th=0x9dcc878) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8d092d8, th=0x9dcc878, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8d09618, th=0x9dcc878) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8d092d8, th=0x9dcc878, previous=0x9ce5fa0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xa8eb3330, parent=0x8d092d8, th=0x9dcc878) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0xb7925afb in ThreadWeaver::Thread::run (this=0x9dcc878) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0xb6db75e2 in QThreadPrivate::start (arg=0x9dcc878) at thread/qthread_unix.cpp:188
#15 0xb551a585 in start_thread (arg=0xa8eb3b70) at pthread_create.c:300
#16 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 5 (Thread 0xa86b2b70 (LWP 8092)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8d093f8, mutex=0x8d093e0) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8d092f0, mutex=0x8d09580, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8d092d8, th=0xad234000) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8d09618, th=0xad234000) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8d092d8, th=0xad234000) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8d09618, th=0xad234000) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8d092d8, th=0xad234000, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8d09618, th=0xad234000) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8d092d8, th=0xad234000, previous=0x988c2c8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xa86b2330, parent=0x8d092d8, th=0xad234000) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0xb7925afb in ThreadWeaver::Thread::run (this=0xad234000) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0xb6db75e2 in QThreadPrivate::start (arg=0xad234000) at thread/qthread_unix.cpp:188
#15 0xb551a585 in start_thread (arg=0xa86b2b70) at pthread_create.c:300
#16 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 4 (Thread 0xa41ffb70 (LWP 8135)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8e1a928, mutex=0x8e1a910) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8eae068, th=0xa2a6ff0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ea8130, th=0xa2a6ff0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8eae068, th=0xa2a6ff0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0xa2a6ff0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0xa2a6ff0, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0xa2a6ff0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0xa2a6ff0, previous=0x9ed0910) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xa41ff330, parent=0x8eae068, th=0xa2a6ff0) at ../../../threadweaver/Weaver/Thread.cpp:87
#13 0xb7925afb in ThreadWeaver::Thread::run (this=0xa2a6ff0) at ../../../threadweaver/Weaver/Thread.cpp:142
#14 0xb6db75e2 in QThreadPrivate::start (arg=0xa2a6ff0) at thread/qthread_unix.cpp:188
#15 0xb551a585 in start_thread (arg=0xa41ffb70) at pthread_create.c:300
#16 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 3 (Thread 0xa39feb70 (LWP 8136)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8e1a928, mutex=0x8e1a910) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8eae068, th=0xa2bd9f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ea8130, th=0xa2bd9f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8eae068, th=0xa2bd9f8) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0xa2bd9f8) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0xa2bd9f8, previous=0x9984e28) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xa39fe330, parent=0x8eae068, th=0xa2bd9f8) at ../../../threadweaver/Weaver/Thread.cpp:87
#11 0xb7925afb in ThreadWeaver::Thread::run (this=0xa2bd9f8) at ../../../threadweaver/Weaver/Thread.cpp:142
#12 0xb6db75e2 in QThreadPrivate::start (arg=0xa2bd9f8) at thread/qthread_unix.cpp:188
#13 0xb551a585 in start_thread (arg=0xa39feb70) at pthread_create.c:300
#14 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 2 (Thread 0xb0678b70 (LWP 8243)):
#0  0xb8007424 in __kernel_vsyscall ()
#1  0xb551e0a5 in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:122
#2  0xb61b282d in __pthread_cond_wait (cond=0x8e1a928, mutex=0x8e1a910) at forward.c:139
#3  0xb6db85c2 in QWaitConditionPrivate::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  QWaitCondition::wait (this=0x8eae080, mutex=0x8ea6f48, time=4294967295) at thread/qwaitcondition_unix.cpp:159
#5  0xb7924648 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x8eae068, th=0x94ac768) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#6  0xb79273ac in ThreadWeaver::WorkingHardState::waitForAvailableJob (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:80
#7  0xb792323b in ThreadWeaver::WeaverImpl::waitForAvailableJob (this=0x8eae068, th=0x94ac768) at ../../../threadweaver/Weaver/WeaverImpl.cpp:356
#8  0xb79274a2 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#9  0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#10 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#11 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#12 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#13 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#14 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#15 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#16 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#17 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#18 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#19 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#20 0xb79274c1 in ThreadWeaver::WorkingHardState::applyForWork (this=0x8ea8130, th=0x94ac768) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#21 0xb7924bd3 in ThreadWeaver::WeaverImpl::applyForWork (this=0x8eae068, th=0x94ac768, previous=0x0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:351
#22 0xb79254be in ThreadWeaver::ThreadRunHelper::run (this=0xb0678330, parent=0x8eae068, th=0x94ac768) at ../../../threadweaver/Weaver/Thread.cpp:87
#23 0xb7925afb in ThreadWeaver::Thread::run (this=0x94ac768) at ../../../threadweaver/Weaver/Thread.cpp:142
#24 0xb6db75e2 in QThreadPrivate::start (arg=0x94ac768) at thread/qthread_unix.cpp:188
#25 0xb551a585 in start_thread (arg=0xb0678b70) at pthread_create.c:300
#26 0xb61a52be in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb5058920 (LWP 7896)):
[KCrash Handler]
#6  0x00000000 in ?? ()
#7  0xb5bc9101 in KDevelop::BackgroundParserPrivate::parseDocumentsInternal (this=0x8d091c0) at /home/milianw/projects/kde4/kdevplatform/language/backgroundparser/backgroundparser.cpp:164
#8  0xb5bc1658 in KDevelop::BackgroundParser::parseDocuments (this=0x8d08998) at /home/milianw/projects/kde4/kdevplatform/language/backgroundparser/backgroundparser.cpp:515
#9  0xb5bc223e in KDevelop::BackgroundParser::qt_metacall (this=0x8d08998, _c=QMetaObject::InvokeMetaMethod, _id=19, _a=0xbfc8cd58)
    at /home/milianw/projects/.build/kde4/kdevplatform/language/backgroundparser.moc:169
#10 0xb6ebd303 in QMetaObject::activate (sender=0x8d091cc, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3112
#11 0xb6ebdf42 in QMetaObject::activate (sender=0x8d091cc, m=0xb6f99d84, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3186
#12 0xb6ef8b37 in QTimer::timeout (this=0x8d091cc) at .moc/release-shared/moc_qtimer.cpp:128
#13 0xb6ec365e in QTimer::timerEvent (this=0x8d091cc, e=0xbfc8d1dc) at kernel/qtimer.cpp:261
#14 0xb6eb839f in QObject::event (this=0x8d091cc, e=0xbfc8d1dc) at kernel/qobject.cpp:1074
#15 0xb6494a94 in QApplicationPrivate::notify_helper (this=0x8aaa9a0, receiver=0x8d091cc, e=0xbfc8d1dc) at kernel/qapplication.cpp:4065
#16 0xb649cbee in QApplication::notify (this=0xbfc8d4c4, receiver=0x8d091cc, e=0xbfc8d1dc) at kernel/qapplication.cpp:3605
#17 0xb71e162d in KApplication::notify (this=0xbfc8d4c4, receiver=0x8d091cc, event=0xbfc8d1dc) at ../../kdeui/kernel/kapplication.cpp:302
#18 0xb6ea81eb in QCoreApplication::notifyInternal (this=0xbfc8d4c4, receiver=0x8d091cc, event=0xbfc8d1dc) at kernel/qcoreapplication.cpp:610
#19 0xb6ed6e21 in QCoreApplication::sendEvent (this=0x8aadb34) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#20 QTimerInfoList::activateTimers (this=0x8aadb34) at kernel/qeventdispatcher_unix.cpp:580
#21 0xb6ed3317 in timerSourceDispatch (source=0x8aacd20) at kernel/qeventdispatcher_glib.cpp:184
#22 idleTimerSourceDispatch (source=0x8aacd20) at kernel/qeventdispatcher_glib.cpp:231
#23 0xb5455f28 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#24 0xb54596b3 in ?? () from /lib/libglib-2.0.so.0
#25 0xb5459838 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#26 0xb6ed3041 in QEventDispatcherGlib::processEvents (this=0x8aaa960, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#27 0xb6534305 in QGuiEventDispatcherGlib::processEvents (this=0x8aaa960, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#28 0xb6ea683a in QEventLoop::processEvents (this=0xbfc8d400, flags=...) at kernel/qeventloop.cpp:149
#29 0xb6ea6c82 in QEventLoop::exec (this=0xbfc8d400, flags=...) at kernel/qeventloop.cpp:201
#30 0xb6ea90d9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#31 0xb6494917 in QApplication::exec () at kernel/qapplication.cpp:3525
#32 0x0804dc46 in main (argc=1, argv=0xbfc8da04) at /home/milianw/projects/kde4/kdevelop/app/main.cpp:209
Comment 6 Milian Wolff 2010-01-07 20:50:38 UTC
Here's the valgrind result... It crashes on this it seems:

            ParseJob* job = language->languageSupport()->createParseJob(url);

The strange part: both language _and_ language->languageSupport() are checked above so it's some kind of race condition I think, will investigate further...

==9317== Invalid read of size 4
==9317==    at 0x6338280: KDevelop::BackgroundParserPrivate::createParseJob(KUrl const&, KDevelop::TopDUContext::Features, QList<QPointer<QObject> >) (backgroundparser.cpp:205)
==9317==    by 0x6339100: KDevelop::BackgroundParserPrivate::parseDocumentsInternal() (backgroundparser.cpp:164)
==9317==    by 0x6331657: KDevelop::BackgroundParser::parseDocuments() (backgroundparser.cpp:514)
==9317==    by 0x633223D: KDevelop::BackgroundParser::qt_metacall(QMetaObject::Call, int, void**) (backgroundparser.moc:169)
==9317==    by 0x51ED302: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3112)
==9317==    by 0x51EDF41: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3186)
==9317==    by 0x5228B36: QTimer::timeout() (moc_qtimer.cpp:128)
==9317==    by 0x51F365D: QTimer::timerEvent(QTimerEvent*) (qtimer.cpp:261)
==9317==    by 0x51E839E: QObject::event(QEvent*) (qobject.cpp:1074)
==9317==    by 0x5462A93: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4065)
==9317==    by 0x546ABED: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3605)
==9317==    by 0x4E6562C: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:302)
==9317==  Address 0x2f6e6f75 is not stack'd, malloc'd or (recently) free'd
==9317==
Comment 7 Milian Wolff 2010-01-07 21:17:36 UTC
So, finally hunted it down:

The problem is that the CMakeManager (which is also the LanguageSupport) gets deleted:

Breakpoint 1, ~CMakeManager (this=0x84b25e8, __in_chrg=<value optimized out>) at /home/milianw/projects/kde4/kdevelop/projectmanagers/cmake/cmakemanager.cpp:157
157     CMakeManager::~CMakeManager()
(gdb) bt
#0  ~CMakeManager (this=0x84b25e8, __in_chrg=<value optimized out>) at /home/milianw/projects/kde4/kdevelop/projectmanagers/cmake/cmakemanager.cpp:157
#1  0xb6e90d35 in qDeleteInEventHandler (o=0x84b25e8) at kernel/qobject.cpp:3814
#2  0xb6e9260b in QObject::event (this=0x84b25e8, e=0x84c6bb8) at kernel/qobject.cpp:1093
#3  0xb646ea94 in QApplicationPrivate::notify_helper (this=0x80ec9b8, receiver=0x84b25e8, e=0x84c6bb8) at kernel/qapplication.cpp:4065
#4  0xb6476bee in QApplication::notify (this=0xbfffe5d4, receiver=0x84b25e8, e=0x84c6bb8) at kernel/qapplication.cpp:3605
#5  0xb71bb62d in KApplication::notify (this=0xbfffe5d4, receiver=0x84b25e8, event=0x84c6bb8) at ../../kdeui/kernel/kapplication.cpp:302
#6  0xb6e821eb in QCoreApplication::notifyInternal (this=0xbfffe5d4, receiver=0x84b25e8, event=0x84c6bb8) at kernel/qcoreapplication.cpp:610
#7  0xb6e82e2e in QCoreApplication::sendEvent (receiver=0x0, event_type=0, data=0x80532f0)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#8  QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x80532f0) at kernel/qcoreapplication.cpp:1247
#9  0xb6e8300d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1140
#10 0xb6ead4cf in QCoreApplication::sendPostedEvents (s=0x80eeca0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#11 postEventSourceDispatch (s=0x80eeca0) at kernel/qeventdispatcher_glib.cpp:276
#12 0xb5430f28 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#13 0xb54346b3 in ?? () from /lib/libglib-2.0.so.0
#14 0xb5434838 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#15 0xb6ead041 in QEventDispatcherGlib::processEvents (this=0x80ec978, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#16 0xb650e305 in QGuiEventDispatcherGlib::processEvents (this=0x80ec978, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#17 0xb6e8083a in QEventLoop::processEvents (this=0xbfffe510, flags=...) at kernel/qeventloop.cpp:149
#18 0xb6e80c82 in QEventLoop::exec (this=0xbfffe510, flags=...) at kernel/qeventloop.cpp:201
#19 0xb6e830d9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#20 0xb646e917 in QApplication::exec () at kernel/qapplication.cpp:3525
#21 0x0804dc46 in main (argc=1, argv=0xbfffeb14) at /home/milianw/projects/kde4/kdevelop/app/main.cpp:209

Hence the d-pointer in the Language (which does _not_ get deleted!) is invalid and leads to a crash. I don't know why it gets deleted but my guess is because it's also a BuildManager. Probably would be good if each would be it's own class.
Comment 8 Andreas Pakulat 2010-01-07 22:35:10 UTC
Thanks Milian for hunting this down.

I can see already at least one problem in Core::cleanup() in shell. The order of cleanup is not the same as the order of initialization. Can you test wether it helps to cleanup the language controller before the plugincontroller? The plugin controller will be unloading all plugins, including any language plugins and in fact the cmake plugin will already be unloaded when the last cmake project is closed in the projectcontroller.

The backtrace indicates that the plugin is deleted via a DeferredDelete event, which is usually created by deleteLater(), which in turn is used in the plugincontroller.
Comment 9 Milian Wolff 2010-01-12 15:56:14 UTC
Hm I tried that out but it didn't help. And I mean this is logical: It doesn't crash when you close KDevelop, it crashes when the build-manager gets unloaded. Core::cleanup is not touched in this crash. Aren't the build-manager's / project-managers unloaded when there is no project open which uses them?
Comment 10 Andreas Pakulat 2010-01-12 16:39:30 UTC
(In reply to comment #9)
> Hm I tried that out but it didn't help. And I mean this is logical: It doesn't
> crash when you close KDevelop, it crashes when the build-manager gets unloaded.
> Core::cleanup is not touched in this crash. Aren't the build-manager's /
> project-managers unloaded when there is no project open which uses them?

Right, my analysis was a bit wrong. So what needs to be done is that the languagecontroller needs to keep track of plugins being unloaded and if one of them is a language plugin it also needs to drop any references to this plugin, including any Language objects.

I don't think you can split the cmake manager without having to parse each cmake file twice (which is horrible given the current performance of the parser).
Comment 11 Milian Wolff 2010-01-13 16:56:42 UTC
Imo not only the lang controller would need to keep track, any controller would have to do that... Probably the best would be to refcount the IProject, that should solve this magically, no? Could we not simply use QSharedPointer for that purpose? You know, I'm still learning these things :)
Comment 12 Andreas Pakulat 2010-01-13 19:53:17 UTC
I don't see how refcounting IProject would help here.(In reply to comment #11)
> Imo not only the lang controller would need to keep track, any controller would
> have to do that...

Any controller that keeps a private list of pointers to plugins, yes. But that is by design, they're actually not supposed to do so or live with the fact that plugins can be removed behind their back and work with that.

> Probably the best would be to refcount the IProject, that
> should solve this magically, no? Could we not simply use QSharedPointer for
> that purpose? You know, I'm still learning these things :)

I don't see how refcounting IProject would help here. The only thing that could help would be to use QWeakPointer in the language controller's list and then check any object fetched from that list before accessing it.
Comment 13 Milian Wolff 2010-01-13 20:19:18 UTC
Hm let me rephrase to make my intention clearer:

If we'd use a QSharedPointer and let it decide when to delete the plugin and when not, i.e. no manual qDeleteAll / deleteLater in any controllers, we should be on the safe side, no? And I picked IProject just because it's the base class, I dunno what would happen if I have:

class foobar : IProject, Iface1, Iface2 {};

class Controller1 { QList<QSharedPointer<IFace1> >; }
class Controller2 { QList<QSharedPointer<IFace2> >; }

The adresses should be the same for IFace1 and IFace2 afaik, but does QSharedPointer differentiate between the class type? I think so, but this is pure gutfeeling. If one would just store QSharedPointer<IProject> it should be on the safe side.

Oh and to restress my point about deleting: Imo the deletion is simply wrong, just because one controller says "ok, this iface is not needed anymore", doesn't say that the given Object implementing this iface is not implementing other ifaces, hence must _not_ be deleted (just like with the CmakeManager).

If we use QSharedPointer it would be deleted when it's not required anymore, no?
Comment 14 Andreas Pakulat 2010-01-13 21:04:54 UTC
(In reply to comment #13)
> Hm let me rephrase to make my intention clearer:
> 
> If we'd use a QSharedPointer and let it decide when to delete the plugin and
> when not, i.e. no manual qDeleteAll / deleteLater in any controllers, we should
> be on the safe side, no? And I picked IProject just because it's the base
> class, I dunno what would happen if I have:

IProject is not a base class for any plugins. You probably mean IProjectFileManager.

And no, thats not a solution, at least not without a complete redesign. Right now the Plugincontroller is the core instance that loads and unloads plugins. If we'd use QSharedPointer then you'd have plugin instances around that are not tracked anymore by the plugincontroller. So you can easily get into the situation that something asks the plugincontroller to load plugin X which is actually not yet unloaded/deleted because some other object still has a reference to it. Now you get two instances of the same plugin loaded twice, this is a major change in our plugin system and breaks the promise to plugin authors that only 1 plugin instance will ever be running. This can easily lead to race-conditions when these instances are trying to write some data (in some global object or just config files).
Comment 15 Milian Wolff 2010-01-13 21:51:03 UTC
Zomg, here I am blabbling about IProject all the time while I mean _IPlugin_ of course ;-)

But your point is valid I think, I'll have to do some more debugging to see who exactly triggers the deletion and maybe I can come up with a workaround.
Comment 16 Milian Wolff 2010-02-11 17:44:32 UTC
SVN commit 1088799 by mwolff:

never unload the cmake manager as it's also a language plugin
BUG: 219105

 M  +1 -0      kdevcmakemanager.desktop  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1088799