Bug 309715 - KDevelop crash on exit
Summary: KDevelop crash on exit
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: 2012-11-07 20:01 UTC by Lukas Jirkovsky
Modified: 2013-01-31 21:35 UTC (History)
0 users

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 Lukas Jirkovsky 2012-11-07 20:01:30 UTC
Application: kdevelop (4.4.60)
KDE Platform Version: 4.9.2 (Compiled from sources)
Qt Version: 4.8.3
Operating System: Linux 3.6.6-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
I started a specific session in KDevelop  using krunner. I've closed the session almost immediately afterwards.

The session contained a C++ project using CMake.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f9b9cf1e780 (LWP 18575))]

Thread 9 (Thread 0x7f9b9361e700 (LWP 18576)):
#0  0x00007f9baca13ce1 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f9badfebc57 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9baa0e0b4b in KDevelop::DUChainPrivate::CleanupThread::run (this=0x26e3660) at /var/abs/local/NOTAUR/kdevplatform-git/src/kdevplatform/language/duchain/duchain.cpp:282
#3  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 8 (Thread 0x7f9b8543d700 (LWP 18577)):
#0  0x00007f9bacd03f33 in select () from /usr/lib/libc.so.6
#1  0x00007f9bae0c7112 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 7 (Thread 0x7f9b7bb92700 (LWP 18579)):
#0  0x00007f9bacd0218d in poll () from /usr/lib/libc.so.6
#1  0x00007f9ba6ea9b34 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f9ba6ea9c54 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f9bae116756 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f9bae0e731f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f9bae0e75a8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f9badfe87c0 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f9bae0c7adf in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 6 (Thread 0x7f9b7b391700 (LWP 18580)):
#0  0x00007f9baca13954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f9ba94487a7 in ?? () from /usr/lib/libQtScript.so.4
#2  0x00007f9ba94487d9 in ?? () from /usr/lib/libQtScript.so.4
#3  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 5 (Thread 0x7f9af3fff700 (LWP 18593)):
#0  0x00007f9baca13954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f9ba38b237d in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007f9ba38b2489 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#4  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 4 (Thread 0x7f9b7929f700 (LWP 18594)):
#0  0x00007f9baca12dff in __pthread_mutex_unlock_usercnt () from /usr/lib/libpthread.so.0
#1  0x00007f9ba6ee6b91 in g_mutex_unlock () from /usr/lib/libglib-2.0.so.0
#2  0x00007f9ba6ea9ae5 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0x00007f9ba6ea9c54 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0x00007f9bae116756 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f9bae0e731f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f9bae0e75a8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#7  0x00007f9badfe87c0 in QThread::exec() () from /usr/lib/libQtCore.so.4
#8  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#10 0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 3 (Thread 0x7f9af2571700 (LWP 18602)):
#0  0x00007f9baca13954 in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f9badfebcfb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9ba4522df1 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9ba452563b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9ba45244af in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9ba452453b in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#8  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 2 (Thread 0x7f9aa2f86700 (LWP 18603)):
#0  0x00007f9baca13ce1 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
#1  0x00007f9badfebc57 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9badfdf46f in ?? () from /usr/lib/libQtCore.so.4
#3  0x00007f9badfeb79c in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f9baca0fe0f in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007f9bacd0a31d in clone () from /usr/lib/libc.so.6

Thread 1 (Thread 0x7f9b9cf1e780 (LWP 18575)):
[KCrash Handler]
#5  0x00007f9b798da38d in CTestFindJob::updateReady (this=0x4a92ce0, document=..., context=...) at /var/abs/local/NOTAUR/kdevelop-git/src/kdevelop/projectmanagers/cmake/testing/ctestfindjob.cpp:80
#6  0x00007f9bae0fcf8e in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#7  0x00007f9bad49808c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#8  0x00007f9bad49c50a in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#9  0x00007f9bae684df6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#10 0x00007f9bae0e85ce in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#11 0x00007f9bae0ebf31 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#12 0x00007f9bae1165a3 in ?? () from /usr/lib/libQtCore.so.4
#13 0x00007f9ba6ea9865 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#14 0x00007f9ba6ea9b98 in ?? () from /usr/lib/libglib-2.0.so.0
#15 0x00007f9ba6ea9c54 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#16 0x00007f9bae116736 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#17 0x00007f9bad53852e in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007f9bae0e731f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#19 0x00007f9bae0e75a8 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#20 0x00007f9bae0ec248 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#21 0x000000000040db1e in main (argc=<optimized out>, argv=<optimized out>) at /var/abs/local/NOTAUR/kdevelop-git/src/kdevelop/app/main.cpp:503

Reported using DrKonqi
Comment 1 Milian Wolff 2012-11-09 20:46:59 UTC
Git commit d8aa51e53575a62de1716721030261872dfd5088 by Milian Wolff.
Committed on 09/11/2012 at 21:46.
Pushed by mwolff into branch 'master'.

Don't crash when ctest job exists on shutdown

M  +5    -0    projectmanagers/cmake/testing/ctestfindjob.cpp

http://commits.kde.org/kdevelop/d8aa51e53575a62de1716721030261872dfd5088
Comment 2 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 314187

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

http://commits.kde.org/kdevelop/7a521fc9699a8c257baebcdfdcb7e8fd4c361ecc