Bug 378793

Summary: KDevelop crashes when adding Doxygen comment
Product: [Applications] kdevelop Reporter: Simon Heimbach <s.heimbach>
Component: generalAssignee: kdevelop-bugs-null
Status: RESOLVED DUPLICATE    
Severity: crash Keywords: drkonqi
Priority: NOR    
Version: 5.0.1   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Simon Heimbach 2017-04-15 01:23:46 UTC
Application: kdevelop (5.0.1)

Qt Version: 5.6.1
Frameworks Version: 5.26.0
Operating System: Linux 4.4.57-18.3-default x86_64
Distribution: "openSUSE Leap 42.2"

-- Information about the crash:
Reproducible crash of KDevelop when adding a doxygen's /*! \brief */-comment.

Likely that this behaviour is connected to the background code analysis.

The crash can be reproduced every time.

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

Thread 11 (Thread 0x7f1d11977700 (LWP 17141)):
#0  0x00007f1d5396e0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f1d4e2ed93b in  () at /usr/lib64/libQt5Script.so.5
#2  0x00007f1d4e2ed969 in  () at /usr/lib64/libQt5Script.so.5
#3  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7f1d138b0700 (LWP 17054)):
#0  0x00007f1d5396e0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f1d5a58465b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f1d4ef0742f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f1d4ef0adea in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f1d4ef0545b in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f1d4ef0ae32 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f1d4ef0545b in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f1d4ef0ae32 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f1d4ef0545b in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#9  0x00007f1d4ef08a46 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#10 0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#11 0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#12 0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7f1d148b2700 (LWP 17052)):
[KCrash Handler]
#6  0x00007f1d24d6b2f7 in clang::comments::Lexer::lex(clang::comments::Token&) () at /usr/lib64/../lib64/libclangAST.so.3.8
#7  0x00007f1d24d6c8cb in clang::comments::Parser::parseParagraphOrBlockCommand() () at /usr/lib64/../lib64/libclangAST.so.3.8
#8  0x00007f1d24d6de22 in clang::comments::Parser::parseFullComment() () at /usr/lib64/../lib64/libclangAST.so.3.8
#9  0x00007f1d24e296f1 in clang::RawComment::parse(clang::ASTContext const&, clang::Preprocessor const*, clang::Decl const*) const () at /usr/lib64/../lib64/libclangAST.so.3.8
#10 0x00007f1d24cccefe in clang::ASTContext::getCommentForDecl(clang::Decl const*, clang::Preprocessor const*) const () at /usr/lib64/../lib64/libclangAST.so.3.8
#11 0x00007f1d251197ee in clang_Cursor_getParsedComment () at /usr/lib64/libclang.so.3.8
#12 0x00007f1d253a565a in  () at /usr/lib64/libKDevClangPrivate.so.25
#13 0x00007f1d253ce4b8 in  () at /usr/lib64/libKDevClangPrivate.so.25
#14 0x00007f1d253cf152 in  () at /usr/lib64/libKDevClangPrivate.so.25
#15 0x00007f1d253cfa0b in  () at /usr/lib64/libKDevClangPrivate.so.25
#16 0x00007f1d253e25c7 in  () at /usr/lib64/libKDevClangPrivate.so.25
#17 0x00007f1d250f59bb in  () at /usr/lib64/libclang.so.3.8
#18 0x00007f1d250f7be3 in  () at /usr/lib64/libclang.so.3.8
#19 0x00007f1d250f6436 in  () at /usr/lib64/libclang.so.3.8
#20 0x00007f1d250ffe25 in clang_visitChildren () at /usr/lib64/libclang.so.3.8
#21 0x00007f1d253af9e1 in  () at /usr/lib64/libKDevClangPrivate.so.25
#22 0x00007f1d253b077e in Builder::visit(CXTranslationUnitImpl*, void*, QHash<void*, KDevelop::ReferencedTopDUContext> const&, bool) () at /usr/lib64/libKDevClangPrivate.so.25
#23 0x00007f1d253eeb84 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) () at /usr/lib64/libKDevClangPrivate.so.25
#24 0x00007f1d253ee614 in ClangHelpers::buildDUChain(void*, QMultiHash<void*, Import> const&, ParseSession const&, KDevelop::TopDUContext::Features, QHash<void*, KDevelop::ReferencedTopDUContext>&, ClangIndex*, std::function<bool ()> const&) () at /usr/lib64/libKDevClangPrivate.so.25
#25 0x00007f1d25694cfa in  () at /usr/lib64/qt5/plugins/kdevplatform/25/kdevclangsupport.so
#26 0x00007f1d4ef0a1ca in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#27 0x00007f1d4ef0a587 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#28 0x00007f1d4ef093d0 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib64/libKF5ThreadWeaver.so.5
#29 0x00007f1d4ef08af7 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#30 0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#31 0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#32 0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f1d171a8700 (LWP 17050)):
#0  0x00007f1d5396e0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f1d5a58465b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f1d4ef0742f in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#3  0x00007f1d4ef0adea in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#4  0x00007f1d4ef0545b in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#5  0x00007f1d4ef0ae32 in  () at /usr/lib64/libKF5ThreadWeaver.so.5
#6  0x00007f1d4ef0545b in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib64/libKF5ThreadWeaver.so.5
#7  0x00007f1d4ef08a46 in ThreadWeaver::Thread::run() () at /usr/lib64/libKF5ThreadWeaver.so.5
#8  0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#9  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#10 0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f1d169a7700 (LWP 17034)):
#0  0x00007ffe72ef7adc in clock_gettime ()
#1  0x00007f1d59e9e806 in clock_gettime () at /lib64/libc.so.6
#2  0x00007f1d5a62e826 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f1d5a794989 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f1d5a794f05 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f1d5a7960fe in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007f1d52cf095d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f1d52cf1230 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f1d52cf142c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f1d5a79632b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f1d5a743fdb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f1d5a57ef1a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007f1d4f8a29c8 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f1d19821700 (LWP 17005)):
#0  0x00007f1d59e6230d in nanosleep () at /lib64/libc.so.6
#1  0x00007f1d5a62e86d in  () at /usr/lib64/libQt5Core.so.5
#2  0x00007f1d5a582e61 in QThread::usleep(unsigned long) () at /usr/lib64/libQt5Core.so.5
#3  0x00007f1d5801015a in KDevelop::DUChainLock::lockForRead(unsigned int) () at /usr/lib64/libKDevPlatformLanguage.so.10
#4  0x00007f1d5801043c in KDevelop::DUChainReadLocker::lock() () at /usr/lib64/libKDevPlatformLanguage.so.10
#5  0x00007f1d25394a20 in  () at /usr/lib64/libKDevClangPrivate.so.25
#6  0x00007f1d5a771166 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#7  0x00007f1d5b44ce3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#8  0x00007f1d5b45149a in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007f1d5a745fc5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f1d5a747daa in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f1d5a796c83 in  () at /usr/lib64/libQt5Core.so.5
#12 0x00007f1d52cf1134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#13 0x00007f1d52cf1388 in  () at /usr/lib64/libglib-2.0.so.0
#14 0x00007f1d52cf142c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#15 0x00007f1d5a79630c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#16 0x00007f1d5a743fdb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#17 0x00007f1d5a57ef1a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#18 0x00007f1d580a3dd3 in  () at /usr/lib64/libKDevPlatformLanguage.so.10
#19 0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#20 0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#21 0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f1d2a9fd700 (LWP 17004)):
#0  0x00007f1d5396e468 in pthread_cond_timedwait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f1d5a5845a8 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib64/libQt5Core.so.5
#2  0x00007f1d57fd8cc3 in  () at /usr/lib64/libKDevPlatformLanguage.so.10
#3  0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#4  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#5  0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f1d2b862700 (LWP 17003)):
#0  0x00007f1d5396e0bf in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f1d32c15533 in radeon_drm_cs_emit_ioctl (mtx=0x2838a50, cond=<optimized out>) at ../../../../../include/c11/threads_posix.h:159
#2  0x00007f1d32c15533 in radeon_drm_cs_emit_ioctl (sema=0x2838a50) at ../../../../../src/gallium/auxiliary/os/os_thread.h:259
#3  0x00007f1d32c15533 in radeon_drm_cs_emit_ioctl (param=param@entry=0x2838620) at radeon_drm_winsys.c:688
#4  0x00007f1d32c14d57 in impl_thrd_routine (p=<optimized out>) at ../../../../../include/c11/threads_posix.h:87
#5  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f1d398e9700 (LWP 17002)):
#0  0x00007f1d59e8949d in poll () at /lib64/libc.so.6
#1  0x00007f1d52cf1314 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f1d52cf142c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f1d5a79632b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f1d5a743fdb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f1d5a57ef1a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f1d5c2b11d5 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f1d3b26a700 (LWP 17001)):
#0  0x00007f1d59e8949d in poll () at /lib64/libc.so.6
#1  0x00007f1d4cd8a3e2 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f1d4cd8bfcf in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f1d3d7c4839 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f1d5a5839e9 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f1d53969744 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f1d59e91d3d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f1d5d0c9900 (LWP 17000)):
#0  0x00007f1d59e6230d in nanosleep () at /lib64/libc.so.6
#1  0x00007f1d5a62e86d in  () at /usr/lib64/libQt5Core.so.5
#2  0x00007f1d5a582e61 in QThread::usleep(unsigned long) () at /usr/lib64/libQt5Core.so.5
#3  0x00007f1d5801015a in KDevelop::DUChainLock::lockForRead(unsigned int) () at /usr/lib64/libKDevPlatformLanguage.so.10
#4  0x00007f1d5801043c in KDevelop::DUChainReadLocker::lock() () at /usr/lib64/libKDevPlatformLanguage.so.10
#5  0x00007f1d26e82ff6 in  () at /usr/lib64/qt5/plugins/kdevplatform/25/kdevproblemreporter.so
#6  0x00007f1d26e83216 in  () at /usr/lib64/qt5/plugins/kdevplatform/25/kdevproblemreporter.so
#7  0x00007f1d5a7701c3 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#8  0x00007f1d5a77d112 in QTimer::timerEvent(QTimerEvent*) () at /usr/lib64/libQt5Core.so.5
#9  0x00007f1d5a770f34 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f1d5b44ce3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007f1d5b45149a in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007f1d5a745fc5 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#13 0x00007f1d5a795c7e in QTimerInfoList::activateTimers() () at /usr/lib64/libQt5Core.so.5
#14 0x00007f1d5a796079 in  () at /usr/lib64/libQt5Core.so.5
#15 0x00007f1d52cf1134 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#16 0x00007f1d52cf1388 in  () at /usr/lib64/libglib-2.0.so.0
#17 0x00007f1d52cf142c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#18 0x00007f1d5a79630c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#19 0x00007f1d5a743fdb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#20 0x00007f1d5a74bec6 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#21 0x000000000040c52b in  ()
#22 0x00007f1d59dc86e5 in __libc_start_main () at /lib64/libc.so.6
#23 0x000000000040cb09 in _start ()

Possible duplicates by query: bug 374823, bug 374423, bug 372693, bug 368449, bug 367898.

Reported using DrKonqi
Comment 1 Kevin Funk 2017-04-20 22:02:10 UTC
Same backtrace in other bug report

*** This bug has been marked as a duplicate of bug 372686 ***