Bug 314187 - KDevelop crashes during startup
Summary: KDevelop crashes during startup
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash (vote)
Target Milestone: 4.3.0
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-31 13:27 UTC by Benjamin Eikel
Modified: 2013-02-04 08:54 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Backtrace (57.38 KB, text/plain)
2013-02-03 18:50 UTC, yo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Benjamin Eikel 2013-01-31 13:27:39 UTC
Application: kdevelop (4.5.60)
KDE Platform Version: 4.9.5 (Compiled from sources)
Qt Version: 4.8.2
Operating System: Linux 3.2.0-4-amd64 x86_64
Distribution: Debian GNU/Linux 7.0 (wheezy)

-- Information about the crash:
- What I was doing when the application crashed:
Simply starting KDevelop is enough. Maybe the backtrace helps. If you need more information, please contact me. My versions:
KDevPlatfrom - HEAD - 22de56e32a74056374cb9e00bb7da7b06232d756
KDevelop - HEAD - 6277f0a8f18dac6704b3270aea8fdabd14f4e932

The crash can be reproduced some of the time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f464628e780 (LWP 32301))]

Thread 6 (Thread 0x7f463df95700 (LWP 32302)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:238
#1  0x00007f4656a11167 in wait (time=1000, this=0x2e1fe00) at thread/qwaitcondition_unix.cpp:84
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2e43f80, time=1000) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f4652c938eb in KDevelop::DUChainPrivate::CleanupThread::run (this=0x2e43f60) at ../../language/duchain/duchain.cpp:282
#4  0x00007f4656a10d0b in QThreadPrivate::start (arg=0x2e43f60) at thread/qthread_unix.cpp:307
#5  0x00007f4654805dab in start_thread (arg=0x7f463df95700) at pthread_create.c:311
#6  0x00007f465570addd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 5 (Thread 0x7f462775d700 (LWP 32311)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f46525efe77 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f46528fd640) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007f46525efea9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007f4654805dab in start_thread (arg=0x7f462775d700) at pthread_create.c:311
#4  0x00007f465570addd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 4 (Thread 0x7f46269bf700 (LWP 32316)):
#0  pthread_mutex_lock (mutex=0x7f461c000a60) at forward.c:192
#1  0x00007f46506f7421 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f46506bae69 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f46506bb54b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f46506bb744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f4656b3a296 in QEventDispatcherGlib::processEvents (this=0x7f461c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x00007f4656b0a8af in QEventLoop::processEvents (this=this@entry=0x7f46269bedf0, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007f4656b0ab38 in QEventLoop::exec (this=0x7f46269bedf0, flags=...) at kernel/qeventloop.cpp:204
#8  0x00007f4656a0dd70 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#9  0x00007f4656aeb1bf in QInotifyFileSystemWatcherEngine::run (this=0x5234170) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007f4656a10d0b in QThreadPrivate::start (arg=0x5234170) at thread/qthread_unix.cpp:307
#11 0x00007f4654805dab in start_thread (arg=0x7f46269bf700) at pthread_create.c:311
#12 0x00007f465570addd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 3 (Thread 0x7f4597fff700 (LWP 32364)):
#0  socketNotifierSourcePrepare (timeout=0x7f4597ffec7c) at kernel/qeventdispatcher_glib.cpp:76
#1  0x00007f46506bae5f in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f46506bb54b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f46506bb744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f4656b3a296 in QEventDispatcherGlib::processEvents (this=0x7f458c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007f4656b0a8af in QEventLoop::processEvents (this=this@entry=0x7f4597ffee20, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007f4656b0ab38 in QEventLoop::exec (this=0x7f4597ffee20, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007f4656a0dd70 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#8  0x00007f4656a10d0b in QThreadPrivate::start (arg=0x7f45900034d0) at thread/qthread_unix.cpp:307
#9  0x00007f4654805dab in start_thread (arg=0x7f4597fff700) at pthread_create.c:311
#10 0x00007f465570addd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 2 (Thread 0x7f4596dce700 (LWP 32372)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f464d71debd in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f464d71dfc9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f4654805dab in start_thread (arg=0x7f4596dce700) at pthread_create.c:311
#4  0x00007f465570addd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

Thread 1 (Thread 0x7f464628e780 (LWP 32301)):
[KCrash Handler]
#6  0x00007f4624cb1f3b in CTestFindJob::updateReady (this=0x3684460, document=..., context=...) at ../../../projectmanagers/cmake/testing/ctestfindjob.cpp:75
#7  0x00007f4656b20a2e in QObject::event (this=0x3684460, e=<optimized out>) at kernel/qobject.cpp:1195
#8  0x00007f4655eb570c in QApplicationPrivate::notify_helper (this=this@entry=0x1b142c0, receiver=receiver@entry=0x3684460, e=e@entry=0x5723090) at kernel/qapplication.cpp:4556
#9  0x00007f4655eb9b8a in QApplication::notify (this=0x7fffc80cb7c0, receiver=0x3684460, e=0x5723090) at kernel/qapplication.cpp:4417
#10 0x00007f46570bca36 in KApplication::notify (this=0x7fffc80cb7c0, receiver=0x3684460, event=0x5723090) at ../../kdeui/kernel/kapplication.cpp:311
#11 0x00007f4656b0bb5e in QCoreApplication::notifyInternal (this=0x7fffc80cb7c0, receiver=receiver@entry=0x3684460, event=event@entry=0x5723090) at kernel/qcoreapplication.cpp:915
#12 0x00007f4656b0f9e1 in sendEvent (event=0x5723090, receiver=0x3684460) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#13 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1a51950) at kernel/qcoreapplication.cpp:1539
#14 0x00007f4656b3a0e3 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#15 postEventSourceDispatch (s=0x1b16a00) at kernel/qeventdispatcher_glib.cpp:279
#16 0x00007f46506bb355 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f46506bb688 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f46506bb744 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f4656b3a276 in QEventDispatcherGlib::processEvents (this=0x1a53230, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#20 0x00007f4655f5683e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#21 0x00007f4656b0a8af in QEventLoop::processEvents (this=this@entry=0x7fffc80cb3e0, flags=...) at kernel/qeventloop.cpp:149
#22 0x00007f4656b0ab38 in QEventLoop::exec (this=0x7fffc80cb3e0, flags=...) at kernel/qeventloop.cpp:204
#23 0x00007f4656b0fcf8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#24 0x000000000040faee in main (argc=<optimized out>, argv=<optimized out>) at ../../app/main.cpp:506

Possible duplicates by query: bug 309896, bug 309715.

Reported using DrKonqi
Comment 1 Milian Wolff 2013-01-31 21:00:52 UTC
What project did you use to create this crash - can I access it to reproduce the bug?
Comment 2 Benjamin Eikel 2013-01-31 21:35:12 UTC
It happend with an internal project. I will try it next week when I return from Brussels with other projects to see if I can reproduce the bug when loading them.
Comment 3 Milian Wolff 2013-01-31 21:35:39 UTC
Git commit 7a521fc9699a8c257baebcdfdcb7e8fd4c361ecc by Milian Wolff.
Committed on 31/01/2013 at 22:33.
Pushed by mwolff into branch '4.5'.

Make CTestFindJob killable to ensure it gets stopped on shutdown.

This should be the proper fix for the crash-on-close bug that
was encountered quite often. I do not understand how to trigger it
on startup though - can someone try with this patch again?
Related: bug 309715

M  +9    -7    projectmanagers/cmake/testing/ctestfindjob.cpp
M  +2    -0    projectmanagers/cmake/testing/ctestfindjob.h

http://commits.kde.org/kdevelop/7a521fc9699a8c257baebcdfdcb7e8fd4c361ecc
Comment 4 yo 2013-02-03 18:50:01 UTC
Created attachment 76885 [details]
Backtrace

I think that this trace might be related to (or directly affected by) the bug.
Comment 5 Benjamin Eikel 2013-02-04 08:54:57 UTC
With the old version (without your patch), I am still able to reproduce the problem with a KDevelop project created from a kdevplatform build (but you are right, it is much more likely to occur during the exit of KDevelop).

With the current Git version, I cannot reproduce it. So it seems that you fixed the problem. Thank you very much!