Bug 363707 - Assert when parsing project
Summary: Assert when parsing project
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Build tools: CMake (show other bugs)
Version: git master
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-30 14:38 UTC by Andreas Cord-Landwehr
Modified: 2016-06-02 05:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Cord-Landwehr 2016-05-30 14:38:38 UTC
The following assert happens every time when my current project is parsed:

Application: KDevelop (kdevelop), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
[Current thread is 1 (Thread 0x7f6b481438c0 (LWP 16253))]

Thread 9 (Thread 0x7f6b28e92700 (LWP 16254)):
#0  0x00007f6b445fde8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6b36f51c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f6b36f538d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f6b29e2e2c9 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#5  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b28e92700) at pthread_create.c:333
#6  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f6b15200700 (LWP 16256)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225
#1  0x00007f6b44cf3598 in QWaitCondition::wait(QMutex*, unsigned long) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#2  0x00007f6b423c2958 in KDevelop::DUChainPrivate::CleanupThread::run (this=0x16c9f00) at /opt/nightly/src/extragear/kdevelop/kdevplatform/language/duchain/duchain.cpp:282
#3  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#4  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b15200700) at pthread_create.c:333
#5  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f6b0f076700 (LWP 16257)):
#0  0x00007f6b445fde8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6b3c2cc31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6b3c2cc42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6b44f35a87 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#4  0x00007f6b44ede212 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#5  0x00007f6b44ced7bc in QThread::exec() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#6  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#7  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b0f076700) at pthread_create.c:333
#8  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f6b069a4700 (LWP 16260)):
#0  0x00007f6b445fde8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6b3c2cc31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6b3c2cc42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6b44f35a9c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#4  0x00007f6b44ede212 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#5  0x00007f6b44ced7bc in QThread::exec() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#6  0x00007f6b4252727c in KDevelop::CompletionWorkerThread::run (this=0x872150) at /opt/nightly/src/extragear/kdevelop/kdevplatform/language/codecompletion/codecompletionmodel.cpp:89
#7  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#8  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b069a4700) at pthread_create.c:333
#9  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f6b04c37700 (LWP 16261)):
#0  0x00007f6b445fde8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6b3c2cc31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6b3c2cc42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6b44f35a9c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#4  0x00007f6b44ede212 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#5  0x00007f6b44ced7bc in QThread::exec() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#6  0x00007f6b4252727c in KDevelop::CompletionWorkerThread::run (this=0x1b06580) at /opt/nightly/src/extragear/kdevelop/kdevplatform/language/codecompletion/codecompletionmodel.cpp:89
#7  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#8  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b04c37700) at pthread_create.c:333
#9  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f6afac80700 (LWP 16270)):
#0  0x00007f6b445fde8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f6b3c2cc31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6b3c2cc42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6b44f35a87 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#4  0x00007f6b44ede212 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#5  0x00007f6b44ced7bc in QThread::exec() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#6  0x00007f6b41d680f5 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Qml.so.5
#7  0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#8  0x00007f6b3d7ce6fa in start_thread (arg=0x7f6afac80700) at pthread_create.c:333
#9  0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f6b1f115700 (LWP 16276)):
[KCrash Handler]
#6  0x00007f6b44538418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007f6b4453a01a in __GI_abort () at abort.c:89
#8  0x00007f6b44ce013e in QMessageLogger::fatal(char const*, ...) const () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#9  0x00007f6b44cdb6ae in qt_assert(char const*, char const*, int) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#10 0x00007f6b0f74f296 in QList<CMakeFunctionArgument>::first (this=0x7f6b19f4a8f8) at /opt/Qt5.5.1/5.5/gcc_64/include/QtCore/qlist.h:317
#11 0x00007f6b0f74ed59 in DeclarationBuilder::startVisiting (this=0x7f6b1f114bc0, node=0x7f6b1f114ba0) at /opt/nightly/src/extragear/kdevelop/kdevelop/projectmanagers/cmake/duchain/declarationbuilder.cpp:41
#12 0x00007f6b0f74a125 in KDevelop::AbstractContextBuilder<QListIterator<CMakeFunctionDesc>, CMakeFunctionDesc>::supportBuild (this=0x7f6b1f114bc0, node=0x7f6b1f114ba0, context=0x7f6b19c45d20) at /opt/nightly/install/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:134
#13 0x00007f6b0f749946 in KDevelop::AbstractContextBuilder<QListIterator<CMakeFunctionDesc>, CMakeFunctionDesc>::build (this=0x7f6b1f114bc0, url=..., node=0x7f6b1f114ba0, updateContext=...) at /opt/nightly/install/include/kdevplatform/language/duchain/builders/abstractcontextbuilder.h:114
#14 0x00007f6b0f748591 in CMakeParseJob::run (this=0x2fbc150) at /opt/nightly/src/extragear/kdevelop/kdevelop/projectmanagers/cmake/duchain/cmakeparsejob.cpp:108
#15 0x00007f6b389a0650 in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#16 0x00007f6b389a0c90 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#17 0x00007f6b3899f7e0 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#18 0x00007f6b3899f28a in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#19 0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#20 0x00007f6b3d7ce6fa in start_thread (arg=0x7f6b1f115700) at pthread_create.c:333
#21 0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f6afa47f700 (LWP 16277)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6b44cf364b in QWaitCondition::wait(QMutex*, unsigned long) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#2  0x00007f6b3899d2bf in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#3  0x00007f6b389a14e8 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#4  0x00007f6b3899c46d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#5  0x00007f6b389a1542 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#6  0x00007f6b3899c46d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#7  0x00007f6b389a1542 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#8  0x00007f6b3899c46d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x00007f6b389a1542 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x00007f6b3899c46d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x00007f6b389a1542 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007f6b3899c46d in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#13 0x00007f6b3899f353 in ThreadWeaver::Thread::run() () from /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#14 0x00007f6b44cf262f in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#15 0x00007f6b3d7ce6fa in start_thread (arg=0x7f6afa47f700) at pthread_create.c:333
#16 0x00007f6b44609b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f6b481438c0 (LWP 16253)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f6b36f51eb9 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f6b36f53617 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f6b36f53721 in xcb_wait_for_reply () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007f6b3dd7aa47 in _XReply () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#5  0x00007f6b3dd5f4ee in XGetGeometry () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007f6b3d597a59 in ?? () from /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
#7  0x00007f6b22ef1127 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#8  0x00007f6b22eeff85 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#9  0x00007f6b22e163be in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#10 0x00007f6b22e17929 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#11 0x00007f6b22dbca12 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#12 0x00007f6b22dc4a61 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#13 0x00007f6b4575aecf in QPlatformBackingStore::composeAndFlush(QWindow*, QRegion const&, QPoint const&, QPlatformTextureList*, QOpenGLContext*, bool) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Gui.so.5
#14 0x00007f6b29e474a7 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#15 0x00007f6b45d05d8c in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#16 0x00007f6b45d06b11 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#17 0x00007f6b45d083eb in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#18 0x00007f6b45d08761 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#19 0x00007f6b45d27b6f in QWidgetPrivate::syncBackingStore() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#20 0x00007f6b45d3c2a0 in QWidget::event(QEvent*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#21 0x00007f6b45e4d07b in QMainWindow::event(QEvent*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#22 0x00007f6b40352147 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#23 0x00007f6b4038a4e5 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5
#24 0x00007f6b45cfb4cc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#25 0x00007f6b45d00630 in QApplication::notify(QObject*, QEvent*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Widgets.so.5
#26 0x00007f6b44ee0663 in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#27 0x00007f6b44ee28d3 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#28 0x00007f6b44f35693 in ?? () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#29 0x00007f6b3c2cc127 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f6b3c2cc380 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f6b3c2cc42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f6b44f35a87 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#33 0x00007f6b44ede212 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#34 0x00007f6b44ee5d3d in QCoreApplication::exec() () from /opt/Qt5.5.1/5.5/gcc_64/lib/libQt5Core.so.5
#35 0x000000000040fc1e in main (argc=1, argv=0x7ffc4572f5d8) at /opt/nightly/src/extragear/kdevelop/kdevelop/app/main.cpp:714


Reproducible: Always
Comment 1 Andreas Cord-Landwehr 2016-05-30 20:52:52 UTC
Looking again at the crash log, I think reassigning to the cmake build system support more suited.
Comment 2 Andreas Cord-Landwehr 2016-06-02 05:13:55 UTC
Git commit b4263571146bab54459dd0aa122fc5dc604705d5 by Andreas Cord-Landwehr.
Committed on 02/06/2016 at 05:13.
Pushed by cordlandwehr into branch '5.0'.

Handle CMake methods/functions without arguments gracefully

Summary:
Fixes crash from KDE bug #363707. For details see backtrace in
bug report.

Reviewers: apol, #kdevelop

Reviewed By: apol, #kdevelop

Subscribers: kdevelop-devel

Differential Revision: https://phabricator.kde.org/D1741


http://commits.kde.org/kdevelop/b4263571146bab54459dd0aa122fc5dc604705d5
Comment 3 Andreas Cord-Landwehr 2016-06-02 05:13:55 UTC
Git commit bef8072e620ecaac9cdaf27c1996167caa7f75b5 by Andreas Cord-Landwehr.
Committed on 01/06/2016 at 19:54.
Pushed by cordlandwehr into branch '5.0'.

Handle CMake methods/functions without arguments gracefully

Fixes crash from KDE bug #363707. For details see backtrace in
bug report.

M  +6    -0    projectmanagers/cmake/duchain/declarationbuilder.cpp

http://commits.kde.org/kdevelop/bef8072e620ecaac9cdaf27c1996167caa7f75b5