Bug 280401

Summary: crash due to nested eventloop in manpage plugin
Product: [Applications] kdevelop Reporter: matti.valovirta
Component: Documentation viewerAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash    
Priority: HI    
Version: 4.2.2   
Target Milestone: 4.2.3   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description matti.valovirta 2011-08-19 08:54:24 UTC
Application: kdevelop (4.2.2)
KDE Platform Version: 4.6.5 (4.6.5) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.39-gentoo-r3 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
- What I was doing when the application crashed:
I right-clicked and selected rename on a method's name in its definition(?) (.cpp-file). I entered the new name and clicked rename and kdevelop crashed. I haven't yet tried to reproduce it. I will report here if i can. Kdevelop hadn't been running for more than few minutes and this was basically the first thing i did. The project is 4 classes + Qt4 .ui and written in C++.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Aborted
[Current thread is 1 (Thread 0x7fe870491760 (LWP 20765))]

Thread 13 (Thread 0x7fe85c7f5700 (LWP 20775)):
#0  0x00007fe86d3108eb in pthread_cond_timedwait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd001 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe86ae8f17a in KDevelop::DUChainPrivate::CleanupThread::run (this=0x17ea210) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/duchain.cpp:286
#3  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#5  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 12 (Thread 0x7fe85b0ad700 (LWP 20779)):
#0  0x00007fe86d30f89e in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x00007fe8682bc0ba in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fe86e9e9e66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fe86e8c949d in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86e99ca98 in QInotifyFileSystemWatcherEngine::run() () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#10 0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 11 (Thread 0x7fe84b302700 (LWP 20783)):
#0  0x00007fe86d5eb1f3 in poll () from /lib64/libc.so.6
#1  0x00007fe8682bbfb9 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fe86e9e9e66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fe86e8c949d in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#9  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 10 (Thread 0x7fe84ab01700 (LWP 20784)):
#0  0x00007fe8682bb6ed in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#1  0x00007fe8682bbfd3 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fe86e9e9e66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#4  0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fe86e8c949d in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#9  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fe84a282700 (LWP 20789)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe85d28a554 in QTWTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtScript.so.4
#2  0x00007fe85d28a589 in QTWTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtScript.so.4
#3  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#4  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fe848ed0700 (LWP 20796)):
#0  0x00007fe86d30f89e in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x00007fe8682bb9bc in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fe8682bbe28 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#4  0x00007fe86e9e9e66 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#5  0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#6  0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86e8c949d in QThread::exec() () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86e99ca98 in QInotifyFileSystemWatcherEngine::run() () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#11 0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fe848484700 (LWP 20823)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd08b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe8665731f1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x909860, th=0x3a28f90) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fe8665773f0 in ThreadWeaver::WorkingHardState::applyForWork (this=0x82deb0, th=0x3a28f90) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fe866575954 in ThreadWeaver::ThreadRunHelper::run (this=0x7fe848483e30, parent=0x909860, th=0x3a28f90) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:87
#5  0x00007fe866575a54 in ThreadWeaver::Thread::run (this=0x3a28f90) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:142
#6  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#8  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fe847c83700 (LWP 20824)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd08b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe8665731f1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x909860, th=0x3b07480) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fe8665773f0 in ThreadWeaver::WorkingHardState::applyForWork (this=0x82deb0, th=0x3b07480) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fe866575954 in ThreadWeaver::ThreadRunHelper::run (this=0x7fe847c82e30, parent=0x909860, th=0x3b07480) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:87
#5  0x00007fe866575a54 in ThreadWeaver::Thread::run (this=0x3b07480) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:142
#6  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#8  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fe847369700 (LWP 20826)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe865d9ea3d in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/qt4/libQtWebKit.so.4
#2  0x00007fe865d9eb49 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/qt4/libQtWebKit.so.4
#3  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#4  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fe853149700 (LWP 23490)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd08b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe8665731f1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x4d91ad0, th=0x5ed8880) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fe8665773f0 in ThreadWeaver::WorkingHardState::applyForWork (this=0x4ebf4a0, th=0x5ed8880) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fe866577409 in ThreadWeaver::WorkingHardState::applyForWork (this=0x4ebf4a0, th=0x5ed8880) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007fe866575954 in ThreadWeaver::ThreadRunHelper::run (this=0x7fe853148e30, parent=0x4d91ad0, th=0x5ed8880) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:87
#6  0x00007fe866575a54 in ThreadWeaver::Thread::run (this=0x5ed8880) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:142
#7  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#9  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fe8453f5700 (LWP 23491)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd08b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe8665731f1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x4d91ad0, th=0x4ebf140) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fe8665773f0 in ThreadWeaver::WorkingHardState::applyForWork (this=0x4ebf4a0, th=0x4ebf140) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fe866577409 in ThreadWeaver::WorkingHardState::applyForWork (this=0x4ebf4a0, th=0x4ebf140) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:74
#5  0x00007fe866575954 in ThreadWeaver::ThreadRunHelper::run (this=0x7fe8453f4e30, parent=0x4d91ad0, th=0x4ebf140) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:87
#6  0x00007fe866575a54 in ThreadWeaver::Thread::run (this=0x4ebf140) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:142
#7  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#9  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fe844bf4700 (LWP 23492)):
#0  0x00007fe86d31056c in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x00007fe86e8cd08b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007fe8665731f1 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x4d91ad0, th=0x601bc50) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WeaverImpl.cpp:365
#3  0x00007fe8665773f0 in ThreadWeaver::WorkingHardState::applyForWork (this=0x4ebf4a0, th=0x601bc50) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/WorkingHardState.cpp:71
#4  0x00007fe866575954 in ThreadWeaver::ThreadRunHelper::run (this=0x7fe844bf3e30, parent=0x4d91ad0, th=0x601bc50) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:87
#5  0x00007fe866575a54 in ThreadWeaver::Thread::run (this=0x601bc50) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/threadweaver/Weaver/Thread.cpp:142
#6  0x00007fe86e8cc4c5 in QThreadPrivate::start(void*) () from /usr/lib64/qt4/libQtCore.so.4
#7  0x00007fe86d30bc1a in start_thread () from /lib64/libpthread.so.0
#8  0x00007fe86d5f3e7d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fe870491760 (LWP 20765)):
[KCrash Handler]
#6  0x00007fe86d554355 in raise () from /lib64/libc.so.6
#7  0x00007fe86d5555ef in abort () from /lib64/libc.so.6
#8  0x00007fe86e8c26a4 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#9  0x00007fe86e8c2852 in qt_message(QtMsgType, char const*, __va_list_tag*) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007fe86e8c2a05 in qFatal(char const*, ...) () from /usr/lib64/qt4/libQtCore.so.4
#11 0x00007fe86aecd093 in KDevelop::DUChainLock::lockForWrite (this=0x17e90e8, timeout=0) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/duchainlock.cpp:165
#12 0x00007fe86aecd1e8 in KDevelop::DUChainWriteLocker::lock (this=0x7fffa3babe30) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/duchainlock.cpp:299
#13 0x00007fe86aea73ad in KDevelop::TopDUContext::Cache::Cache (this=0x7fffa3babf20, context=<value optimized out>) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/topducontext.cpp:1386
#14 0x00007fe84bb17475 in Cpp::CodeCompletionWorker::computeCompletions (this=<value optimized out>, context=) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/languages/cpp/codecompletion/worker.cpp:92
#15 0x00007fe86af5539a in KDevelop::CodeCompletionWorker::computeCompletions (this=0x22a22c0, context=<value optimized out>, position=..., view=0x3afd680) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/codecompletion/codecompletionworker.cpp:118
#16 0x00007fe86af556d1 in KDevelop::CodeCompletionWorker::qt_metacall (this=0x22a22c0, _c=<value optimized out>, _id=<value optimized out>, _a=0x5d45f00) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2_build/language/codecompletionworker.moc:84
#17 0x00007fe86e9cfabe in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x00007fe86dd627dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#19 0x00007fe86dd67c7d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#20 0x00007fe86f1bcee1 in KApplication::notify (this=0x7fffa3baf7a0, receiver=0x22a22c0, event=0x5caec10) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#21 0x000000000040a1ba in KDevelopApplication::notify (this=0x7fffa3baf7a0, receiver=0x22a22c0, event=0x5caec10) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/app/main.cpp:90
#22 0x00007fe86e9bdd2b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#23 0x00007fe86e9c0cb1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4
#24 0x00007fe86e9ea2d3 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtCore.so.4
#25 0x00007fe8682b7bc1 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#26 0x00007fe8682bc258 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#27 0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fe86e9e9e13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#29 0x00007fe86de1492e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#30 0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#31 0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007fe86ff09dbe in KJob::exec (this=0x3cf9580) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdecore/jobs/kjob.cpp:204
#33 0x00007fe84f312166 in ManPageDocumentation::getManPageContent (this=0x2b870f0) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/documentation/manpage/manpagedocumentation.cpp:57
#34 0x00007fe84f3122d8 in ManPageDocumentation::ManPageDocumentation (this=0x2b870f0, page=...) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/documentation/manpage/manpagedocumentation.cpp:44
#35 0x00007fe84f312ef7 in ManPagePlugin::documentationForDeclaration (this=<value optimized out>, dec=<value optimized out>) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/documentation/manpage/manpageplugin.cpp:109
#36 0x00007fe86f9352a8 in KDevelop::DocumentationController::documentationForDeclaration (this=<value optimized out>, decl=0x7fe8547a4950) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/shell/documentationcontroller.cpp:113
#37 0x00007fe86af420f7 in KDevelop::AbstractDeclarationNavigationContext::html (this=0x5ca50c0, shorten=<value optimized out>) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/navigation/abstractdeclarationnavigationcontext.cpp:84
#38 0x00007fe86af3858b in KDevelop::AbstractNavigationWidget::update (this=0x634f2a0) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/navigation/abstractnavigationwidget.cpp:146
#39 0x00007fe86af39006 in KDevelop::AbstractNavigationWidget::setContext (this=0x634f2a0, context=) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/language/duchain/navigation/abstractnavigationwidget.cpp:123
#40 0x00007fe84b6533e7 in Cpp::NavigationWidget::NavigationWidget (this=0x634f2a0, declaration=<value optimized out>, topContext=<value optimized out>, htmlPrefix=..., htmlSuffix=...) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/languages/cpp/cppduchain/navigation/navigationwidget.cpp:36
#41 0x00007fe84b621281 in Cpp::CppDUContext<KDevelop::TopDUContext>::createNavigationWidget (this=<value optimized out>, decl=<value optimized out>, topContext=<value optimized out>, htmlPrefix=..., htmlSuffix=...) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/languages/cpp/cppduchain/cppducontext.cpp:50
#42 0x00007fe84c1ed9e5 in ContextBrowserPlugin::showToolTip (this=0x21d7f20, view=0x3afd680, position=<value optimized out>) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/plugins/contextbrowser/contextbrowser.cpp:413
#43 0x00007fe84c1ee0bb in ContextBrowserPlugin::textHintRequested (this=0x21d7f20, cursor=...) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2/plugins/contextbrowser/contextbrowser.cpp:358
#44 0x00007fe84c1f1503 in ContextBrowserPlugin::qt_metacall (this=0x21d7f20, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa3bae7d0) at /var/tmp/portage/dev-util/kdevplatform-1.2.2/work/kdevplatform-1.2.2_build/plugins/contextbrowser/contextbrowser.moc:144
#45 0x00007fe86e9d5a0f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#46 0x00007fe85d6fd2ca in KateView::needTextHint (this=0x511d, _t1=<value optimized out>, _t2=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5_build/kate/kateview.moc:490
#47 0x00007fe85d70a3af in KateViewInternal::textHintTimeout (this=0x3b02bd0) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kate/view/kateviewinternal.cpp:3009
#48 0x00007fe85d70db11 in KateViewInternal::qt_metacall (this=0x3b02bd0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa3bae9f0) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5_build/kate/kateviewinternal.moc:138
#49 0x00007fe86e9d5a0f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#50 0x00007fe86e9cf7d9 in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#51 0x00007fe86dd627dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#52 0x00007fe86dd67c7d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#53 0x00007fe86f1bcee1 in KApplication::notify (this=0x7fffa3baf7a0, receiver=0x3b02e08, event=0x7fffa3baf1a0) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#54 0x000000000040a1ba in KDevelopApplication::notify (this=0x7fffa3baf7a0, receiver=0x3b02e08, event=0x7fffa3baf1a0) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/app/main.cpp:90
#55 0x00007fe86e9bdd2b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#56 0x00007fe86e9ed24a in QTimerInfoList::activateTimers() () from /usr/lib64/qt4/libQtCore.so.4
#57 0x00007fe86e9ea124 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib64/qt4/libQtCore.so.4
#58 0x00007fe8682b7bc1 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#59 0x00007fe8682bc258 in g_main_context_iterate () from /usr/lib64/libglib-2.0.so.0
#60 0x00007fe8682bc40c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#61 0x00007fe86e9e9e13 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#62 0x00007fe86de1492e in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtGui.so.4
#63 0x00007fe86e9bca82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#64 0x00007fe86e9bce64 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#65 0x00007fe86e9c0edb in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#66 0x0000000000409222 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/dev-util/kdevelop-4.2.2/work/kdevelop-4.2.2/app/main.cpp:467

Reported using DrKonqi
Comment 1 Milian Wolff 2012-02-06 21:04:16 UTC
the crash is an assert on the duchain write lock (chain is already read-locked) and happens due to a nested eventloop :-/

nasty, I wonder how we could prevent this... either by unlocking the chain before calling documentationForDeclaration (and hence passing DeclarationPointer) or by not using KIO::exec in the manpage plugin...
Comment 2 Milian Wolff 2012-11-10 16:02:19 UTC
Just looked at the code, the ::Cache is gone so this is not a problem but maybe we still have other issues eventually. Closing for now until someone can reproduce.