Bug 283966

Summary: Kdevelop crashes when executing the tool Configure in Custom Build System plugin.
Product: [Applications] kdevelop Reporter: Christos Gourdoupis <xrigou>
Component: BuildSystem: Custom BuildSystemsAssignee: kdevelop-bugs-null
Status: RESOLVED DUPLICATE    
Severity: crash CC: apaku
Priority: NOR    
Version: 4.2.60   
Target Milestone: 4.2.3   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Christos Gourdoupis 2011-10-14 07:59:29 UTC
Application: kdevelop (4.2.60)
KDE Platform Version: 4.6.00 (4.6.0) "release 6"
Qt Version: 4.7.1
Operating System: Linux 2.6.37.6-0.7-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
My project uses the Custom Build System plugin. When I attempt to run the Configure tool Kdevelop crashes most of the times.
- Custom settings of the application:

The crash can be reproduced every time.

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

Thread 8 (Thread 0x7f2bd2335700 (LWP 6635)):
#0  0x00007f2be68f76f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2be7e940b2 in wait (this=<value optimized out>, mutex=0x18d04e0, time=1000) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x18d04e0, time=1000) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f2be432fcab in KDevelop::DUChainPrivate::CleanupThread::run (this=0x18d04c0) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/language/duchain/duchain.cpp:282
#4  0x00007f2be7e93a5e in QThreadPrivate::start (arg=0x18d04c0) at thread/qthread_unix.cpp:285
#5  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#6  0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f2bc5510700 (LWP 6638)):
#0  0x00007f2be15c373f in g_main_context_check () from /lib64/libglib-2.0.so.0
#1  0x00007f2be15c4132 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007f2be15c4650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007f2be7fa7956 in QEventDispatcherGlib::processEvents (this=0x243dfc0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007f2be7f7c032 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f2be7f7c245 in QEventLoop::exec (this=0x7f2bc550fe20, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007f2be7e911e4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#7  0x00007f2be7e93a5e in QThreadPrivate::start (arg=0x243da30) at thread/qthread_unix.cpp:285
#8  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#9  0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f2bc4d0f700 (LWP 6639)):
#0  0x00007f2be68f50a4 in pthread_mutex_lock () from /lib64/libpthread.so.0
#1  0x00007f2be15c3876 in g_main_context_check () from /lib64/libglib-2.0.so.0
#2  0x00007f2be15c4132 in ?? () from /lib64/libglib-2.0.so.0
#3  0x00007f2be15c4650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007f2be7fa7956 in QEventDispatcherGlib::processEvents (this=0x2442120, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f2be7f7c032 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f2be7f7c245 in QEventLoop::exec (this=0x7f2bc4d0ee20, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007f2be7e911e4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007f2be7e93a5e in QThreadPrivate::start (arg=0x2439db0) at thread/qthread_unix.cpp:285
#9  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f2bbfda6700 (LWP 6644)):
#0  0x00007f2be68f738c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2bd3124044 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f2bd343d180) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f2bd3124079 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7f2bd344b254) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#4  0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7f2bbe0e6700 (LWP 6689)):
#0  0x00007f2be68f738c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2bde47f084 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4
#2  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#3  0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f2bbc3e9700 (LWP 6752)):
#0  0x00007f2be68f738c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2be7e9414b in wait (this=<value optimized out>, mutex=0x90f840, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x90f840, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f2bded05254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9e5a10, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f2bded082a5 in waitForAvailableJob (this=0x91e440, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x91e440, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f2bded082be in ThreadWeaver::WorkingHardState::applyForWork (this=0x91e440, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007f2bded082be in ThreadWeaver::WorkingHardState::applyForWork (this=0x91e440, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WorkingHardState.cpp:74
#8  0x00007f2bded0564f in ThreadWeaver::ThreadRunHelper::run (this=0x7f2bbc3e8e30, parent=0x9e5a10, th=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/Thread.cpp:87
#9  0x00007f2bded056d8 in ThreadWeaver::Thread::run (this=0x4689b40) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/Thread.cpp:142
#10 0x00007f2be7e93a5e in QThreadPrivate::start (arg=0x4689b40) at thread/qthread_unix.cpp:285
#11 0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#12 0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f2bbbbe8700 (LWP 6753)):
#0  0x00007f2be68f738c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f2be7e9414b in wait (this=<value optimized out>, mutex=0x90f840, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0x90f840, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007f2bded05254 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x9e5a10, th=0x4689bf0) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007f2bded082a5 in waitForAvailableJob (this=0x91e440, th=0x4689bf0) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WeaverImpl.cpp:356
#5  ThreadWeaver::WorkingHardState::applyForWork (this=0x91e440, th=0x4689bf0) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/WorkingHardState.cpp:71
#6  0x00007f2bded0564f in ThreadWeaver::ThreadRunHelper::run (this=0x7f2bbbbe7e30, parent=0x9e5a10, th=0x4689bf0) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/Thread.cpp:87
#7  0x00007f2bded056d8 in ThreadWeaver::Thread::run (this=0x4689bf0) at /usr/src/debug/kdelibs-4.6.0/threadweaver/Weaver/Thread.cpp:142
#8  0x00007f2be7e93a5e in QThreadPrivate::start (arg=0x4689bf0) at thread/qthread_unix.cpp:285
#9  0x00007f2be68f2a3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007f2be6bdc66d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f2be9942760 (LWP 6634)):
[KCrash Handler]
#6  KDevelop::ProjectBaseItem::project (this=0x5b56f00) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/project/projectmodel.cpp:393
#7  0x00007f2be4936cbe in KDevelop::AbstractFileManagerPlugin::Private::jobFinished (this=0x4436c40, job=<value optimized out>) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/project/abstractfilemanagerplugin.cpp:139
#8  0x00007f2be4937ea9 in KDevelop::AbstractFileManagerPlugin::qt_metacall (this=0x44272f0, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffa7c764a0) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/build/project/abstractfilemanagerplugin.moc:121
#9  0x00007f2bbe0ef2e0 in CustomBuildSystem::qt_metacall (this=0x44272f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa7c764a0) at /usr/src/debug/kdevelop4-plugin-custom-buildsystem-1.2.0git.1310974833/build/custombuildsystemplugin.moc:90
#10 0x00007f2be7f91dcf in QMetaObject::activate (sender=0x5c51510, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffa7c764a0) at kernel/qobject.cpp:3272
#11 0x00007f2be93a51bf in KJob::finished (this=<value optimized out>, _t1=0x5c51510) at /usr/src/debug/kdelibs-4.6.0/build/kdecore/kjob.moc:173
#12 0x00007f2be93a5395 in KJob::emitResult (this=0x5c51510) at /usr/src/debug/kdelibs-4.6.0/kdecore/jobs/kjob.cpp:310
#13 0x00007f2be49393b8 in KDevelop::FileManagerListJob::slotResult (this=0x5c51510, job=<value optimized out>) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/project/filemanagerlistjob.cpp:83
#14 0x00007f2be4939554 in KDevelop::FileManagerListJob::qt_metacall (this=0x5c51510, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7fffa7c76640) at /usr/src/debug/kdevplatform-1.2.60.git.1317949993/build/project/filemanagerlistjob.moc:88
#15 0x00007f2be7f91dcf in QMetaObject::activate (sender=0x5c4dee0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffa7c76640) at kernel/qobject.cpp:3272
#16 0x00007f2be93a5362 in KJob::result (this=<value optimized out>, _t1=0x5c4dee0) at /usr/src/debug/kdelibs-4.6.0/build/kdecore/kjob.moc:194
#17 0x00007f2be93a53a0 in KJob::emitResult (this=0x5c4dee0) at /usr/src/debug/kdelibs-4.6.0/kdecore/jobs/kjob.cpp:312
#18 0x00007f2be53ff6dd in KIO::SimpleJob::slotFinished (this=0x5c4dee0) at /usr/src/debug/kdelibs-4.6.0/kio/kio/job.cpp:525
#19 0x00007f2be53ff815 in KIO::ListJob::slotFinished (this=0x5c4dee0) at /usr/src/debug/kdelibs-4.6.0/kio/kio/job.cpp:2564
#20 0x00007f2be5305f36 in KIO::SimpleJob::slotError (this=0x5c4dee0, err=<value optimized out>, errorText=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kio/kio/job.cpp:537
#21 0x00007f2be5306b88 in KIO::SimpleJob::qt_metacall (this=0x5c4dee0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa7c76a40) at /usr/src/debug/kdelibs-4.6.0/build/kio/jobclasses.moc:170
#22 0x00007f2be53daff0 in KIO::ListJob::qt_metacall (this=0x5c4dee0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa7c76a40) at /usr/src/debug/kdelibs-4.6.0/build/kio/jobclasses.moc:810
#23 0x00007f2be7f91dcf in QMetaObject::activate (sender=0x40ef930, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffa7c76a40) at kernel/qobject.cpp:3272
#24 0x00007f2be5317cc6 in KIO::SlaveInterface::error (this=<value optimized out>, _t1=111, _t2=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/build/kio/slaveinterface.moc:159
#25 0x00007f2be5416986 in KIO::SlaveInterface::dispatch (this=<value optimized out>, _cmd=<value optimized out>, rawdata=...) at /usr/src/debug/kdelibs-4.6.0/kio/kio/slaveinterface.cpp:206
#26 0x00007f2be53b9c43 in KIO::SlaveInterface::dispatch (this=<value optimized out>) at /usr/src/debug/kdelibs-4.6.0/kio/kio/slaveinterface.cpp:89
#27 0x00007f2be53b8c36 in KIO::Slave::gotInput (this=0x40ef930) at /usr/src/debug/kdelibs-4.6.0/kio/kio/slave.cpp:348
#28 0x00007f2be53bdb3c in KIO::Slave::qt_metacall (this=0x40ef930, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa7c76e60) at /usr/src/debug/kdelibs-4.6.0/build/kio/slave.moc:82
#29 0x00007f2be7f91dcf in QMetaObject::activate (sender=0x3b9cff0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3272
#30 0x00007f2be53bd917 in KIO::ConnectionPrivate::dequeue (this=0x414a0b0) at /usr/src/debug/kdelibs-4.6.0/kio/kio/connection.cpp:82
#31 0x00007f2be53bd9cd in KIO::Connection::qt_metacall (this=0x3b9cff0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x3bc4e50) at /usr/src/debug/kdelibs-4.6.0/build/kio/connection.moc:79
#32 0x00007f2be7f90a4a in QObject::event (this=0x3b9cff0, e=<value optimized out>) at kernel/qobject.cpp:1211
#33 0x00007f2be7348d14 in QApplicationPrivate::notify_helper (this=0x6416d0, receiver=0x3b9cff0, e=0x5bc8b50) at kernel/qapplication.cpp:4445
#34 0x00007f2be735122a in QApplication::notify (this=<value optimized out>, receiver=0x3b9cff0, e=0x5bc8b50) at kernel/qapplication.cpp:4324
#35 0x00007f2be86b69e6 in KApplication::notify (this=0x7fffa7c77bf0, receiver=0x3b9cff0, event=0x5bc8b50) at /usr/src/debug/kdelibs-4.6.0/kdeui/kernel/kapplication.cpp:311
#36 0x00007f2be7f7cbdc in QCoreApplication::notifyInternal (this=0x7fffa7c77bf0, receiver=0x3b9cff0, event=0x5bc8b50) at kernel/qcoreapplication.cpp:732
#37 0x00007f2be7f803d5 in sendEvent (receiver=0x0, event_type=0, data=0x618830) at kernel/qcoreapplication.h:215
#38 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x618830) at kernel/qcoreapplication.cpp:1373
#39 0x00007f2be7fa7763 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#40 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#41 0x00007f2be15c3bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#42 0x00007f2be15c43b0 in ?? () from /lib64/libglib-2.0.so.0
#43 0x00007f2be15c4650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#44 0x00007f2be7fa78ff in QEventDispatcherGlib::processEvents (this=0x641660, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#45 0x00007f2be73edd8e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#46 0x00007f2be7f7c032 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#47 0x00007f2be7f7c245 in QEventLoop::exec (this=0x7fffa7c778a0, flags=...) at kernel/qeventloop.cpp:201
#48 0x00007f2be7f8068b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#49 0x000000000040bec2 in _start ()

Possible duplicates by query: bug 260741.

Reported using DrKonqi
Comment 1 Milian Wolff 2011-10-14 09:42:53 UTC
so you just run configure and that crashes kdev?

@Andreas: can you take care of this please?
Comment 2 Andreas Pakulat 2011-10-14 09:55:03 UTC
I can't see any relevance to the custom buildsystem manager. The backtrace indicates that the only thing involved is the abstractfilemanager code doing some behind-the-scenes update or so. It really does sound as if this is a dupe of the mentioned report 260741 and the 'external change' is simply triggered by running whatever script is configured in the custom buildsystem manager as "Configure" tool.
Comment 3 Milian Wolff 2011-10-14 10:21:23 UTC
also, if it's simple to reproduce the following would be helpful:

run kdevelop in valgrind and upload the log it creates:

valgrind --track-origins=yes --num-callers=25 kdevelop &> log
# reproduce crash
# upload 'log' file
Comment 4 Christos Gourdoupis 2011-10-16 12:32:08 UTC
I agree it is a dupe of 260741.
My project is autotools based too, the only difference is I use the Custom Build System to configure it and build it.
I was unable to trigger the crash while running under valgrind.
It seems it happens only after some work is done.

*** This bug has been marked as a duplicate of bug 260741 ***