Bug 231790

Summary: crash in Cpp codecompletion due to null pointer (CodeCompletionContext::doConstructorCompletion)
Product: [Applications] kdevelop Reporter: Milian Wolff <mail>
Component: Language Support: CPP (old)Assignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Unspecified   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Milian Wolff 2010-03-22 16:08:38 UTC
Version:            (using KDE 4.3.5)
Installed from:    Ubuntu Packages

Just got the following crash, never seen it so far, must be pretty rare. Given that m_duContext is a DUContextPointer one should probably simply add a check to see whether it's still valid? Correct?

Application: KDevelop (kdevelop.bin), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7f9f4f6eb750 (LWP 19241))]

Thread 11 (Thread 0x7f9f3d970910 (LWP 19244)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007f9f4c302462 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f490a13c9 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x17646b0) at /home/milian/kdevplatform/language/duchain/duchain.cpp:286
#3  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#5  0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7f9f334cc910 (LWP 19245)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f9f4c3024fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4db0d326 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9f4db0f45b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9f4db0da5f in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#7  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 9 (Thread 0x7f9f31cc9910 (LWP 19253)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f9f4c3024fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4db0d326 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9f4db0f45b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9f4db0da5f in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#8  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7f9f30cc7910 (LWP 19266)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f9f4c3024fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4db0d326 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9f4db0f45b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00007f9f4db0da5f in ?? () from /usr/lib/libthreadweaver.so.4
#9  0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#10 0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#11 0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#12 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7f9f2fcc5910 (LWP 19269)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f9f4c3024fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4db0d326 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9f4db0f45b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#7  0x00007f9f4db0da5f in ?? () from /usr/lib/libthreadweaver.so.4
#8  0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#9  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#10 0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7f9f29aef910 (LWP 19777)):
[KCrash Handler]
#5  0x00007f9f490c7105 in KDevelop::DUContext::findDeclarations (this=0x0, identifier=..., position=..., dataType=..., topContext=0x0, flags=...)
    at /home/milian/kdevplatform/language/duchain/ducontext.cpp:919
#6  0x00007f9f21e1d16a in Cpp::CodeCompletionContext::doConstructorCompletion (this=0x96fd690) at /home/milian/kdevelop/languages/cpp/codecompletion/context.cpp:744
#7  0x00007f9f21e183a1 in CodeCompletionContext (this=0x96fd690, context=..., text=..., followingText=..., position=..., depth=1, knownArgumentExpressions=..., line=-1)
    at /home/milian/kdevelop/languages/cpp/codecompletion/context.cpp:237
#8  0x00007f9f21e19d5f in CodeCompletionContext (this=0x908ef50, context=..., text=..., followingText=..., position=..., depth=0, knownArgumentExpressions=..., line=-1)
    at /home/milian/kdevelop/languages/cpp/codecompletion/context.cpp:408
#9  0x00007f9f21e11cf8 in Cpp::CodeCompletionWorker::createCompletionContext (this=0x7f9f240711f0, context=..., contextText=..., followingText=..., position=...)
    at /home/milian/kdevelop/languages/cpp/codecompletion/worker.cpp:57
#10 0x00007f9f491be648 in KDevelop::CodeCompletionWorker::computeCompletions (this=0x7f9f240711f0, context=..., position=..., view=0x6ab53d0, contextRange=..., contextText=...)
    at /home/milian/kdevplatform/language/codecompletion/codecompletionworker.cpp:147
#11 0x00007f9f21e122c8 in Cpp::CodeCompletionWorker::computeCompletions (this=0x7f9f240711f0, context=..., position=..., view=0x6ab53d0, _contextRange=..., _contextText=...)
    at /home/milian/kdevelop/languages/cpp/codecompletion/worker.cpp:94
#12 0x00007f9f491be3b2 in KDevelop::CodeCompletionWorker::computeCompletions (this=0x7f9f240711f0, context=..., position=..., view=0x6ab53d0)
    at /home/milian/kdevplatform/language/codecompletion/codecompletionworker.cpp:119
#13 0x00007f9f491bed2b in KDevelop::CodeCompletionWorker::qt_metacall (this=0x7f9f240711f0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xa75b9c0)
    at /home/milian/.build/kdevplatform/language/codecompletionworker.moc:78
#14 0x00007f9f21e12401 in Cpp::CodeCompletionWorker::qt_metacall (this=0x7f9f240711f0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0xa75b9c0)
    at /home/milian/.build/kdevelop/languages/cpp/worker.moc:60
#15 0x00007f9f4c3f70f9 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4
#16 0x00007f9f4b637efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007f9f4b63f1ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007f9f4cb6ef46 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f9f4c3e7c2c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#20 0x00007f9f4c3e880a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#21 0x00007f9f4c410533 in ?? () from /usr/lib/libQtCore.so.4
#22 0x00007f9f46351bce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#23 0x00007f9f46355598 in ?? () from /lib/libglib-2.0.so.0
#24 0x00007f9f463556c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#25 0x00007f9f4c4101a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#26 0x00007f9f4c3e6532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#27 0x00007f9f4c3e6904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#28 0x00007f9f4c2fe6cb in QThread::exec() () from /usr/lib/libQtCore.so.4
#29 0x00007f9f491c3c7f in KDevelop::CompletionWorkerThread::run (this=0x598be70) at /home/milian/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#30 0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#31 0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#32 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#33 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7f9f2a2f0910 (LWP 19778)):
#0  0x00007f9f4aa503c3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9f4635537c in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f9f463556c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007f9f4c4101fe in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f9f4c3e6532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f9f4c3e6904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f9f4c2fe6cb in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f9f491c3c7f in KDevelop::CompletionWorkerThread::run (this=0x5990f30) at /home/milian/kdevplatform/language/codecompletion/codecompletionmodel.cpp:82
#8  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 4 (Thread 0x7f9f21da3910 (LWP 19779)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007f9f4c300ed5 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4c301040 in QThread::msleep(unsigned long) () from /usr/lib/libQtCore.so.4
#3  0x00007f9f21ddcee0 in UIBlockTester::UIBlockTesterThread::run (this=0x597ede0) at /home/milian/kdevelop/languages/cpp/cpplanguagesupport.cpp:672
#4  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#5  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#6  0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7f9f20cf3910 (LWP 20026)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f9f4c3024fb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/libQtCore.so.4
#2  0x00007f9f4db0d326 in ?? () from /usr/lib/libthreadweaver.so.4
#3  0x00007f9f4db0f45b in ?? () from /usr/lib/libthreadweaver.so.4
#4  0x00007f9f4db0f474 in ?? () from /usr/lib/libthreadweaver.so.4
#5  0x00007f9f4db0da5f in ?? () from /usr/lib/libthreadweaver.so.4
#6  0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#7  0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 2 (Thread 0x7f9f1bfff910 (LWP 20027)):
#0  0x00007f9f4aa20f51 in nanosleep () from /lib/libc.so.6
#1  0x00007f9f4aa55bb4 in usleep (useconds=<value optimized out>) at ../sysdeps/unix/sysv/linux/usleep.c:33
#2  0x00007f9f4910f360 in KDevelop::DUChainLock::lockForWrite (this=0x1adab38, timeout=0) at /home/milian/kdevplatform/language/duchain/duchainlock.cpp:198
#3  0x00007f9f4910f7bc in KDevelop::DUChainWriteLocker::lock (this=0x7f9f1bffc450) at /home/milian/kdevplatform/language/duchain/duchainlock.cpp:296
#4  0x00007f9f4910f709 in DUChainWriteLocker (this=0x7f9f1bffc450, duChainLock=0x1adab38, timeout=0) at /home/milian/kdevplatform/language/duchain/duchainlock.cpp:281
#5  0x00007f9f232392c8 in KDevelop::AbstractUseBuilder<AST, NameAST, ContextBuilder>::newUse (this=0x7f9f1bffe0a0, node=0x7f9f264f3150, newRange=..., declaration=0x7f9f24ead1e0)
    at /home/milian/compiled/include/kdevplatform/language/duchain/builders/abstractusebuilder.h:126
#6  0x00007f9f23238e28 in UseExpressionVisitor::usingDeclaration (this=0x7f9f1bffd1f0, node=0x7f9f264f3150, start_token=2033, end_token=2034, decl=...)
    at /home/milian/kdevelop/languages/cpp/cppduchain/usebuilder.cpp:140
#7  0x00007f9f23289470 in Cpp::ExpressionVisitor::flushUse (this=0x7f9f1bffd1f0) at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.h:189
#8  0x00007f9f232893b4 in Cpp::ExpressionVisitor::newUse (this=0x7f9f1bffd1f0, node=0x7f9f264f3040, start_token=2031, end_token=2032, decl=...)
    at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.h:165
#9  0x00007f9f232862a2 in Cpp::ExpressionVisitor::visitFunctionCall (this=0x7f9f1bffd1f0, node=0x7f9f264f31f8) at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.cpp:1931
#10 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffd1f0, node=0x7f9f264f31f8) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#11 0x00007f9f2327f886 in Cpp::ExpressionVisitor::visitSubExpressions (this=0x7f9f1bffd1f0, node=0x7f9f264f3230, nodes=0x7f9f264f3218)
    at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.cpp:755
#12 0x00007f9f2327fb58 in Cpp::ExpressionVisitor::visitPostfixExpression (this=0x7f9f1bffd1f0, node=0x7f9f264f3230) at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.cpp:793
#13 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffd1f0, node=0x7f9f264f3230) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#14 0x00007f9f23283730 in Cpp::ExpressionVisitor::visitExpressionStatement (this=0x7f9f1bffd1f0, node=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.cpp:1478
#15 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffd1f0, node=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#16 0x00007f9f2327b88a in Cpp::ExpressionVisitor::parse (this=0x7f9f1bffd1f0, ast=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/cppduchain/expressionvisitor.cpp:232
#17 0x00007f9f23237968 in UseBuilder::visitExpression (this=0x7f9f1bffe0a0, node=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/cppduchain/usebuilder.cpp:161
#18 0x00007f9f23237709 in UseBuilder::visitExpressionStatement (this=0x7f9f1bffe0a0, exp=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/cppduchain/usebuilder.cpp:84
#19 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffe100, node=0x7f9f264f3260) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#20 0x00007f9f23507868 in visitNodes<StatementAST*> (v=0x7f9f1bffe100, nodes=0x7f9f24d77778) at /home/milian/kdevelop/languages/cpp/parser/visitor.h:128
#21 0x00007f9f23506129 in DefaultVisitor::visitCompoundStatement (this=0x7f9f1bffe100, node=0x7f9f27f27840) at /home/milian/kdevelop/languages/cpp/parser/default_visitor.cpp:68
#22 0x00007f9f231e9b46 in ContextBuilder::visitCompoundStatement (this=0x7f9f1bffe0a0, node=0x7f9f27f27840) at /home/milian/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:788
#23 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffe100, node=0x7f9f27f27840) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#24 0x00007f9f231e975f in ContextBuilder::visitFunctionDefinition (this=0x7f9f1bffe0a0, node=0x7f9f24d77790) at /home/milian/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:702
#25 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffe100, node=0x7f9f24d77790) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#26 0x00007f9f235077f5 in visitNodes<DeclarationAST*> (v=0x7f9f1bffe100, nodes=0x7f9f26c65888) at /home/milian/kdevelop/languages/cpp/parser/visitor.h:128
#27 0x00007f9f2350734d in DefaultVisitor::visitTranslationUnit (this=0x7f9f1bffe100, node=0x7f9f248d4010) at /home/milian/kdevelop/languages/cpp/parser/default_visitor.cpp:394
#28 0x00007f9f23509fc6 in Visitor::visit (this=0x7f9f1bffe100, node=0x7f9f248d4010) at /home/milian/kdevelop/languages/cpp/parser/visitor.cpp:113
#29 0x00007f9f231e6307 in ContextBuilder::startVisiting (this=0x7f9f1bffe0a0, node=0x7f9f248d4010) at /home/milian/kdevelop/languages/cpp/cppduchain/contextbuilder.cpp:224
#30 0x00007f9f231ee011 in KDevelop::AbstractContextBuilder<AST, NameAST>::supportBuild (this=0x7f9f1bffe0a0, node=0x7f9f248d4010, context=0x7f9f399d6f20)
    at /home/milian/compiled/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:203
#31 0x00007f9f23239105 in KDevelop::AbstractUseBuilder<AST, NameAST, ContextBuilder>::buildUses (this=0x7f9f1bffe0a0, node=0x7f9f248d4010)
    at /home/milian/compiled/include/kdevplatform/language/duchain/builders/abstractusebuilder.h:70
#32 0x00007f9f232375c3 in UseBuilder::buildUses (this=0x7f9f1bffe0a0, node=0x7f9f248d4010) at /home/milian/kdevelop/languages/cpp/cppduchain/usebuilder.cpp:66
#33 0x00007f9f21deb0f9 in CPPInternalParseJob::run (this=0x7f9f25af9090) at /home/milian/kdevelop/languages/cpp/cppparsejob.cpp:738
#34 0x00007f9f4db0e75d in ?? () from /usr/lib/libthreadweaver.so.4
#35 0x00007f9f4db0ea5e in ThreadWeaver::Job::execute(ThreadWeaver::Thread*) () from /usr/lib/libthreadweaver.so.4
#36 0x00007f9f4db0fd83 in ?? () from /usr/lib/libthreadweaver.so.4
#37 0x00007f9f4db0da2f in ?? () from /usr/lib/libthreadweaver.so.4
#38 0x00007f9f4db0deb8 in ThreadWeaver::Thread::run() () from /usr/lib/libthreadweaver.so.4
#39 0x00007f9f4c301445 in ?? () from /usr/lib/libQtCore.so.4
#40 0x00007f9f4742ba04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#41 0x00007f9f4aa5c80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#42 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f9f4f6eb750 (LWP 19241)):
#0  0x00007f9f4aa503c3 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007f9f44e2829a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f9f44e287d7 in ?? () from /usr/lib/libxcb.so.1
#3  0x00007f9f44e28a85 in xcb_writev () from /usr/lib/libxcb.so.1
#4  0x00007f9f47ef2d4a in _XSend () from /usr/lib/libX11.so.6
#5  0x00007f9f47ef3295 in _XFlush () from /usr/lib/libX11.so.6
#6  0x00007f9f478941bc in XRenderComposite () from /usr/lib/libXrender.so.1
#7  0x00007f9f4b7eae69 in ?? () from /usr/lib/libQtGui.so.4
#8  0x00007f9f4b7556b4 in QPainter::drawTiledPixmap(QRectF const&, QPixmap const&, QPointF const&) () from /usr/lib/libQtGui.so.4
#9  0x00007f9f412e4e23 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#10 0x00007f9f412f429a in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#11 0x00007f9f412fff48 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#12 0x00007f9f4cb86587 in KStyle::drawPrimitive(QStyle::PrimitiveElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib/libkdeui.so.5
#13 0x00007f9f4b8edfd7 in QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib/libQtGui.so.4
#14 0x00007f9f4cb7fb22 in KStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const () from /usr/lib/libkdeui.so.5
#15 0x00007f9f412f4a53 in ?? () from /usr/lib/kde4/plugins/styles/oxygen.so
#16 0x00007f9f4b9e212d in QFrame::drawFrame(QPainter*) () from /usr/lib/libQtGui.so.4
#17 0x00007f9f4b9e21d8 in QFrame::paintEvent(QPaintEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007f9f4b6867a0 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007f9f4b9e22a6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f9f4b637efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007f9f4b63f1ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007f9f4cb6ef46 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#23 0x00007f9f4c3e7c2c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#24 0x00007f9f4b68db93 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#25 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#26 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#27 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#28 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#29 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#30 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#31 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#32 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#33 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#34 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#35 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#36 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#37 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#38 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#39 0x00007f9f4b68e2f0 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
   from /usr/lib/libQtGui.so.4
#40 0x00007f9f4b68d803 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/libQtGui.so.4
#41 0x00007f9f4b7ffe1e in ?? () from /usr/lib/libQtGui.so.4
#42 0x00007f9f4b67ffa0 in QWidgetPrivate::syncBackingStore() () from /usr/lib/libQtGui.so.4
#43 0x00007f9f4b6865b8 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#44 0x00007f9f4b9fc9db in QMainWindow::event(QEvent*) () from /usr/lib/libQtGui.so.4
#45 0x00007f9f4cc7ac53 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/libkdeui.so.5
#46 0x00007f9f4b637efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#47 0x00007f9f4b63f1ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#48 0x00007f9f4cb6ef46 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#49 0x00007f9f4c3e7c2c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#50 0x00007f9f4c3e880a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4
#51 0x00007f9f4c410533 in ?? () from /usr/lib/libQtCore.so.4
#52 0x00007f9f46351bce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#53 0x00007f9f46355598 in ?? () from /lib/libglib-2.0.so.0
#54 0x00007f9f463556c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#55 0x00007f9f4c4101a6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#56 0x00007f9f4b6cc4be in ?? () from /usr/lib/libQtGui.so.4
#57 0x00007f9f4c3e6532 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#58 0x00007f9f4c3e6904 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#59 0x00007f9f4c3e8ab9 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#60 0x00000000004089b9 in main (argc=1, argv=0x7fff05f43cc8) at /home/milian/kdevelop/app/main_internal.cpp:222
The current source language is "auto; currently c".
Comment 1 David Nolden 2010-04-18 13:10:02 UTC
SVN commit 1116000 by zwabel:

Add a zero-check after locking the duchain, to prevent a rare crash.
BUG: 231790

 M  +3 -0      context.cpp  


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