Bug 367898

Summary: kdevelop crashed while editing documents
Product: [Applications] kdevelop Reporter: neam <timothee.feuillet>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED UPSTREAM    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.0.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description neam 2016-08-27 14:53:36 UTC
Application: kdevelop (5.0.0)

Qt Version: 5.6.1
Frameworks Version: 5.24.0
Operating System: Linux 4.7.1-1-default x86_64
Distribution: "openSUSE Tumbleweed (20160822) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

Since the 5.0.0 update, kdevelop has been randomly crashing when I edit some files.
(in some previous version I had a similar problem that appeared when a large number of file was openned, but here that isn't the case as I only had 10 open files, only C++ headers).

If I continue to edit the same file (recovering the unsaved data), there's a bigger chance that kdevelop will crash again, on the same file (even if I "clear" the cache -- click on 'OK' in the message box that appear at startup).

The crash can be reproduced sometimes.

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

Thread 23 (Thread 0x7f079b7fe700 (LWP 12699)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f082dd6bfc4 in  () at /usr/lib64/libQt5Script.so.5
#2  0x00007f082dd6c009 in  () at /usr/lib64/libQt5Script.so.5
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 22 (Thread 0x7f07ab714700 (LWP 12635)):
#0  0x00007f0839ac2a7d in read () at /lib64/libc.so.6
#1  0x00007f0832ac2d00 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f0832a7fb26 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f0832a7fff4 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f083a3f2aeb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f083a1c03b3 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#8  0x00007f0837cc96df in KDevelop::CompletionWorkerThread::run() (this=0x61d3190) at /usr/src/debug/kdevplatform-5.0/language/codecompletion/codecompletionmodel.cpp:89
#9  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#11 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 21 (Thread 0x7f07cda47700 (LWP 12602)):
#0  0x00007f0839ac6a1d in poll () at /lib64/libc.so.6
#1  0x00007f0832a80056 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f083a3f2aeb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f083a1c03b3 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#7  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#8  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 20 (Thread 0x7f07ceffd700 (LWP 12580)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c618b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f082ebadec0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f082ebb2068 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#9  0x00007f082ebaff09 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#10 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#12 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 19 (Thread 0x7f07cf7fe700 (LWP 12579)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c618b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f082ebadec0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f082ebb2068 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f082ebaff09 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#9  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 18 (Thread 0x7f07cffff700 (LWP 12578)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c618b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f082ebadec0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f082ebb2068 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#9  0x00007f082ebaff09 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#10 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#12 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 17 (Thread 0x7f07d4db4700 (LWP 12577)):
[KCrash Handler]
#6  0x00007f07f2fd6a27 in clang::comments::Lexer::lex(clang::comments::Token&) () at /usr/lib64/../lib64/libclangAST.so.3.8
#7  0x00007f07f2fd80bc in clang::comments::Parser::parseParagraphOrBlockCommand() () at /usr/lib64/../lib64/libclangAST.so.3.8
#8  0x00007f07f2fd799e in clang::comments::Parser::parseBlockCommand() () at /usr/lib64/../lib64/libclangAST.so.3.8
#9  0x00007f07f2fd8066 in clang::comments::Parser::parseParagraphOrBlockCommand() () at /usr/lib64/../lib64/libclangAST.so.3.8
#10 0x00007f07f2fd94d2 in clang::comments::Parser::parseFullComment() () at /usr/lib64/../lib64/libclangAST.so.3.8
#11 0x00007f07f3093701 in clang::RawComment::parse(clang::ASTContext const&, clang::Preprocessor const*, clang::Decl const*) const () at /usr/lib64/../lib64/libclangAST.so.3.8
#12 0x00007f07f2f3972e in clang::ASTContext::getCommentForDecl(clang::Decl const*, clang::Preprocessor const*) const () at /usr/lib64/../lib64/libclangAST.so.3.8
#13 0x00007f07f33849ee in clang_Cursor_getParsedComment () at /usr/lib64/libclang.so.3.8
#14 0x00007f07f361359d in (anonymous namespace)::Visitor::setDeclData<(CXCursorKind)17>(CXCursor, KDevelop::Declaration*, bool) (cursor=..., decl=decl@entry=0x344ce70, setComment=setComment@entry=true, this=<optimized out>) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:908
#15 0x00007f07f3614500 in (anonymous namespace)::Visitor::setDeclData<(CXCursorKind)30>(CXCursor, KDevelop::ClassMemberDeclaration*) const (this=<optimized out>, cursor=..., decl=0x344ce70) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:975
#16 0x00007f07f3614e82 in (anonymous namespace)::Visitor::setDeclData<(CXCursorKind)21>(CXCursor, KDevelop::ClassFunctionDeclaration*) const (this=this@entry=0x7f07d4db3160, cursor=..., decl=decl@entry=0x344ce70) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1064
#17 0x00007f07f361e423 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)21, KDevelop::ClassFunctionDeclaration, true>(CXCursor) (id=..., cursor=..., this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:380
#18 0x00007f07f361e423 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)21, KDevelop::ClassFunctionDeclaration, true>(CXCursor) (context=0x344cd30, id=..., cursor=..., this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:402
#19 0x00007f07f361e423 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)21, KDevelop::ClassFunctionDeclaration, true>(CXCursor) (this=this@entry=0x7f07d4db3160, cursor=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1135
#20 0x00007f07f362d195 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)21>(CXCursor, CXCursor) (cursor=..., this=<optimized out>, parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:898
#21 0x00007f07f362d195 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)21>(CXCursor, CXCursor) (cursor=..., this=0x7f07d4db3160, parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:876
#22 0x00007f07f362d195 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)21>(CXCursor, CXCursor) (this=this@entry=0x7f07d4db3160, cursor=..., parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:864
#23 0x00007f07f3631e2a in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1453
#24 0x00007f07f336097b in  () at /usr/lib64/libclang.so.3.8
#25 0x00007f07f3362ba3 in  () at /usr/lib64/libclang.so.3.8
#26 0x00007f07f336376f in  () at /usr/lib64/libclang.so.3.8
#27 0x00007f07f3362448 in  () at /usr/lib64/libclang.so.3.8
#28 0x00007f07f3361087 in  () at /usr/lib64/libclang.so.3.8
#29 0x00007f07f336ae25 in clang_visitChildren () at /usr/lib64/libclang.so.3.8
#30 0x00007f07f36283d7 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)4, (Decision)1, (Decision)2>(CXCursor, CXCursor) (cursor=..., this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1138
#31 0x00007f07f36283d7 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)4, (Decision)1, (Decision)2>(CXCursor, CXCursor) (parent=..., cursor=..., this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:898
#32 0x00007f07f36283d7 in (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)4, (Decision)1, (Decision)2>(CXCursor, CXCursor) (this=this@entry=0x7f07d4db3160, cursor=..., parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:876
#33 0x00007f07f3631dc9 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (parent=..., cursor=..., this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:864
#34 0x00007f07f3631dc9 in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1445
#35 0x00007f07f336097b in  () at /usr/lib64/libclang.so.3.8
#36 0x00007f07f3362ba3 in  () at /usr/lib64/libclang.so.3.8
#37 0x00007f07f3362231 in  () at /usr/lib64/libclang.so.3.8
#38 0x00007f07f3361087 in  () at /usr/lib64/libclang.so.3.8
#39 0x00007f07f336ae25 in clang_visitChildren () at /usr/lib64/libclang.so.3.8
#40 0x00007f07f361db73 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)22, KDevelop::Declaration, true>(CXCursor) (this=this@entry=0x7f07d4db3160, cursor=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1138
#41 0x00007f07f363324c in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., this=0x7f07d4db3160, parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:898
#42 0x00007f07f363324c in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1454
#43 0x00007f07f336097b in  () at /usr/lib64/libclang.so.3.8
#44 0x00007f07f3362ba3 in  () at /usr/lib64/libclang.so.3.8
#45 0x00007f07f3362231 in  () at /usr/lib64/libclang.so.3.8
#46 0x00007f07f3361087 in  () at /usr/lib64/libclang.so.3.8
#47 0x00007f07f336ae25 in clang_visitChildren () at /usr/lib64/libclang.so.3.8
#48 0x00007f07f361db73 in (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)22, KDevelop::Declaration, true>(CXCursor) (this=this@entry=0x7f07d4db3160, cursor=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1138
#49 0x00007f07f363324c in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., this=0x7f07d4db3160, parent=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:898
#50 0x00007f07f363324c in (anonymous namespace)::visitCursor(CXCursor, CXCursor, CXClientData) (cursor=..., parent=..., data=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1454
#51 0x00007f07f336097b in  () at /usr/lib64/libclang.so.3.8
#52 0x00007f07f3362ba3 in  () at /usr/lib64/libclang.so.3.8
#53 0x00007f07f33613f6 in  () at /usr/lib64/libclang.so.3.8
#54 0x00007f07f336ae25 in clang_visitChildren () at /usr/lib64/libclang.so.3.8
#55 0x00007f07f361c572 in Builder::visit(CXTranslationUnitImpl*, void*, QHash<void*, KDevelop::ReferencedTopDUContext> const&, bool) (update=<optimized out>, includes=..., file=<optimized out>, tu=<optimized out>, this=0x7f07d4db3160) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1369
#56 0x00007f07f361c572 in Builder::visit(CXTranslationUnitImpl*, void*, QHash<void*, KDevelop::ReferencedTopDUContext> const&, bool) (tu=<optimized out>, file=<optimized out>, includes=..., update=<optimized out>) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/builder.cpp:1506
#57 0x00007f07f3642be5 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) (file=<optimized out>, imports=..., session=..., features=features@entry=KDevelop::TopDUContext::AllDeclarationsContextsAndUses, includedFiles=..., index=0x2a86240, abortFunction=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/clanghelpers.cpp:189
#58 0x00007f07f3642770 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) (file=<optimized out>, imports=..., session=..., features=features@entry=KDevelop::TopDUContext::AllDeclarationsContextsAndUses, includedFiles=..., index=0x2a86240, abortFunction=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/clanghelpers.cpp:121
#59 0x00007f07f3642770 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) (file=<optimized out>, imports=..., session=..., features=features@entry=KDevelop::TopDUContext::AllDeclarationsContextsAndUses, includedFiles=..., index=0x2a86240, abortFunction=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/clanghelpers.cpp:121
#60 0x00007f07f3642770 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) (file=<optimized out>, imports=..., session=..., features=features@entry=KDevelop::TopDUContext::AllDeclarationsContextsAndUses, includedFiles=..., index=0x2a86240, abortFunction=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/clanghelpers.cpp:121
#61 0x00007f07f3642770 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) (file=<optimized out>, imports=..., session=..., features=KDevelop::TopDUContext::AllDeclarationsContextsAndUses, includedFiles=..., index=0x2a86240, abortFunction=...) at /usr/src/debug/kdevelop-5.0/languages/clang/duchain/clanghelpers.cpp:121
#62 0x00007f07f38a099b in ClangParseJob::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) (this=0x7898620) at /usr/src/debug/kdevelop-5.0/languages/clang/clangparsejob.cpp:320
#63 0x00007f082ebb11da in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#64 0x00007f082ebb17e8 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#65 0x00007f082ebb0340 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#66 0x00007f082ebafe50 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#67 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#68 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#69 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 16 (Thread 0x7f07d55b5700 (LWP 12576)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c618b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f082ebadec0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f082ebb2068 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#9  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#10 0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#11 0x00007f082ebaff09 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#12 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#13 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#14 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 15 (Thread 0x7f07e4f01700 (LWP 12575)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c618b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f082ebadec0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f082ebb2068 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f082ebb20c2 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f082ebad03d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#9  0x00007f082ebaff09 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#10 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#12 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 14 (Thread 0x7f07e5702700 (LWP 12499)):
#0  0x00007f0839ac6a1d in poll () at /lib64/libc.so.6
#1  0x00007f0832a80056 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f083a3f2aeb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f083a1c03b3 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f082f55e1e5 in  () at /usr/lib64/libQt5Qml.so.5
#7  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7f07e7aed700 (LWP 12472)):
#0  0x00007f0839acaf79 in syscall () at /lib64/libc.so.6
#1  0x00007f083a1bcf60 in QBasicMutex::lockInternal() () at /usr/lib64/libQt5Core.so.5
#2  0x00007f083a1bd017 in QMutex::lock() () at /usr/lib64/libQt5Core.so.5
#3  0x00007f07f35f7a4d in ClangCodeCompletionContext::ClangCodeCompletionContext(KDevelop::DUChainPointer<KDevelop::DUContext> const&, QExplicitlySharedDataPointer<ParseSessionData> const&, QUrl const&, KTextEditor::Cursor const&, QString const&, QString const&) (this=0x7f07e00039e0, context=..., sessionData=..., url=..., position=..., text=..., followingText=...) at /usr/src/debug/kdevelop-5.0/languages/clang/codecompletion/context.cpp:769
#4  0x00007f07f36023ac in (anonymous namespace)::ClangCodeCompletionWorker::completionRequested(QUrl const&, KTextEditor::Cursor const&, QString const&, QString const&) () at /usr/include/qt5/QtCore/qsharedpointer_impl.h:432
#5  0x00007f07f36023ac in (anonymous namespace)::ClangCodeCompletionWorker::completionRequested(QUrl const&, KTextEditor::Cursor const&, QString const&, QString const&) (followingText=..., text=..., position=..., url=..., session=..., context=...) at /usr/src/debug/kdevelop-5.0/languages/clang/codecompletion/model.cpp:79
#6  0x00007f07f36023ac in (anonymous namespace)::ClangCodeCompletionWorker::completionRequested(QUrl const&, KTextEditor::Cursor const&, QString const&, QString const&) (this=0x2a81790, url=..., position=..., text=..., followingText=...) at /usr/src/debug/kdevelop-5.0/languages/clang/codecompletion/model.cpp:126
#7  0x00007f083a3cacf9 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#8  0x00007f083b0e2aec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007f083b0e7f8f in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007f083a39ca20 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f083a39e99c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#12 0x00007f083a3f26c3 in  () at /usr/lib64/libQt5Core.so.5
#13 0x00007f0832a7fe57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#14 0x00007f0832a800c0 in  () at /usr/lib64/libglib-2.0.so.0
#15 0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#16 0x00007f083a3f2acf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#17 0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#18 0x00007f083a1c03b3 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#19 0x00007f0837cc96df in KDevelop::CompletionWorkerThread::run() (this=0x2a895d0) at /usr/src/debug/kdevplatform-5.0/language/codecompletion/codecompletionmodel.cpp:89
#20 0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#21 0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#22 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7f07fd68a700 (LWP 12471)):
#0  0x00007f0833711448 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f083a1c60c6 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f0837bd17f8 in KDevelop::DUChainPrivate::CleanupThread::run() (this=0x28d7800) at /usr/src/debug/kdevplatform-5.0/language/duchain/duchain.cpp:282
#3  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7f07fe4db700 (LWP 12470)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f07fecdc700 (LWP 12469)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f07ff4dd700 (LWP 12468)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f07ffcde700 (LWP 12467)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f08004df700 (LWP 12466)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f0800ce0700 (LWP 12465)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f08014e1700 (LWP 12464)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f0801ce2700 (LWP 12463)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f0809067573 in  () at /usr/lib64/dri/swrast_dri.so
#2  0x00007f08090673d7 in  () at /usr/lib64/dri/swrast_dri.so
#3  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f0818cd1700 (LWP 12462)):
#0  0x00007f0832a7d110 in  () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f0832a7f54b in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f0832a7ff7b in  () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f083a3f2aeb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f083a1c03b3 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#7  0x00007f083bf669b5 in  () at /usr/lib64/libQt5DBus.so.5
#8  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#9  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f081a65e700 (LWP 12461)):
#0  0x00007f0839ac6a1d in poll () at /lib64/libc.so.6
#1  0x00007f082c7d5410 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f082c7d71a9 in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f081cbc97b9 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f083a1c52d8 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f083370b474 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f0839acf3ed in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f083cdbe900 (LWP 12460)):
#0  0x00007f083371109f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f082c7d5687 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f082c7d6ecf in  () at /usr/lib64/libxcb.so.1
#3  0x00007f082c7d6fe2 in xcb_wait_for_reply () at /usr/lib64/libxcb.so.1
#4  0x00007f081cbc842a in QXcbConnection::sync() () at /usr/lib64/libQt5XcbQpa.so.5
#5  0x00007f081cbe83ce in  () at /usr/lib64/libQt5XcbQpa.so.5
#6  0x00007f081cbe8574 in  () at /usr/lib64/libQt5XcbQpa.so.5
#7  0x00007f083aa87eed in QBackingStore::beginPaint(QRegion const&) () at /usr/lib64/libQt5Gui.so.5
#8  0x00007f083b0f0c4a in  () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007f083b0f1009 in  () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007f083b11097f in QWidgetPrivate::syncBackingStore() () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007f083b128698 in QWidget::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007f083b241bcb in QMainWindow::event(QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#13 0x00007f08361e5787 in KMainWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#14 0x00007f083622a565 in KXmlGuiWindow::event(QEvent*) () at /usr/lib64/libKF5XmlGui.so.5
#15 0x00007f083b0e2aec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#16 0x00007f083b0e7f8f in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#17 0x00007f083a39ca20 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#18 0x00007f083a39e99c in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#19 0x00007f083a3f26c3 in  () at /usr/lib64/libQt5Core.so.5
#20 0x00007f0832a7fe57 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#21 0x00007f0832a800c0 in  () at /usr/lib64/libglib-2.0.so.0
#22 0x00007f0832a8016c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#23 0x00007f083a3f2acf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#24 0x00007f083a39a76a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#25 0x00007f083a3a2f6c in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#26 0x000000000040bd41 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdevelop-5.0/app/main.cpp:745

Reported using DrKonqi
Comment 1 neam 2016-08-27 15:43:08 UTC
It appears kdevelop crashes when I edit the file while the background parser is running. (edit the file, that will trigger the background parser with a little delay but if I edit the file while it is active kdevelop crashes every time).
I don't think that this problem was there from the beginning, but appeared a few hours ago and is now reproducible everytime on that session. (but only on that session, the other sessions I have are not touched by this issue).
Comment 2 Milian Wolff 2016-09-07 00:43:37 UTC
Hm, crash inside libclang, must be fixed upstream... If you have sources that trigger this reproducibly, please report that upstream at

https://llvm.org/bugs/show_bug.cgi?id=24280
Comment 3 neam 2016-09-10 01:28:59 UTC
In fact, I don't think it is libclang, as since the bug I have updated kdevelop, and that update allows me to use the background parser. (I have disabled it, because after reporting the bug I couldn't edit any file in the project without crashing kdevelop). I didn't updated libclang though.

I have seen only one crash since the update (and probably tied to the parser). If there's another and I can get a backtrace, I'll post it there. It may help a little.


Another possible cause is that opensuse had some problem with packaging kdevelop and shipped a broken version.