Bug 403098 - kdevelop always crashes when opening a certain project
Summary: kdevelop always crashes when opening a certain project
Status: RESOLVED DUPLICATE of bug 403045
Alias: None
Product: kdev-python
Classification: Developer tools
Component: Language support (show other bugs)
Version: 5.3.1
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Sven Brauch
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2019-01-11 10:58 UTC by Salvo "LtWorf" Tomaselli
Modified: 2019-01-14 13:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (31.70 KB, text/plain)
2019-01-11 19:36 UTC, Jonathan Verner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Salvo "LtWorf" Tomaselli 2019-01-11 10:58:32 UTC
Application: kdevelop (5.3.1)

Qt Version: 5.11.3
Frameworks Version: 5.51.0
Operating System: Linux 4.18.0-3-amd64 x86_64
Distribution: Debian GNU/Linux buster/sid

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

Opened a project. This particular project is capable to make
kdevelop crash.

However it's a work thing so I can't just send it over in a bug
report.

The crash can be reproduced every time.

-- Backtrace:
Application: KDevelop (kdevelop), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
futex_wait_cancelable (private=0, expected=0, futex_word=0x7fffe0463b88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
[Current thread is 1 (Thread 0x7f0c578c0980 (LWP 14433))]

Thread 16 (Thread 0x7f0c1dffb700 (LWP 14626)):
#0  0x00007f0c659bcae0 in __GI___nanosleep (requested_time=0x7f0c1dff9eb0, remaining=0x7f0c1dff9eb0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007f0c65ef8aed in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f0c64966908 in KDevelop::DUChainLock::lockForWrite(unsigned int) () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#3  0x00007f0c64966b0c in KDevelop::DUChainWriteLocker::lock() () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#4  0x00007f0c2e7cffe3 in Python::ContextBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#5  0x00007f0c2e7d9a05 in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#6  0x00007f0c2e7d9abe in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f0c2e8865ba in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/31/kdevpythonlanguagesupport.so
#8  0x00007f0c62276d9a in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x00007f0c62277308 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x00007f0c62276110 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x00007f0c62275c6b in ThreadWeaver::Thread::run() () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7f0c1e7fc700 (LWP 14625)):
[KCrash Handler]
#6  0x00007f0c2e7edbf0 in Python::UseBuilder::contextAtOrCurrent(KDevelop::CursorInRevision const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f0c2e7eec12 in Python::UseBuilder::visitName(Python::NameAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#8  0x00007f0c46ed7d46 in Python::AstDefaultVisitor::visitAttribute(Python::AttributeAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonparser.so
#9  0x00007f0c2e7ee6ae in Python::UseBuilder::visitAttribute(Python::AttributeAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#10 0x00007f0c46ed9076 in Python::AstDefaultVisitor::visitListComprehension(Python::ListComprehensionAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonparser.so
#11 0x00007f0c2e7d40bf in Python::ContextBuilder::visitComprehensionCommon(Python::Ast*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#12 0x00007f0c46ed96dc in Python::AstDefaultVisitor::visitCall(Python::CallAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonparser.so
#13 0x00007f0c2e7edfd8 in Python::UseBuilder::visitCall(Python::CallAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#14 0x00007f0c46ed96dc in Python::AstDefaultVisitor::visitCall(Python::CallAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonparser.so
#15 0x00007f0c2e7edfd8 in Python::UseBuilder::visitCall(Python::CallAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#16 0x00007f0c2e7d2808 in Python::ContextBuilder::visitFunctionBody(Python::FunctionDefinitionAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#17 0x00007f0c2e7d1831 in Python::ContextBuilder::visitFunctionDefinition(Python::FunctionDefinitionAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#18 0x00007f0c46ed7f0c in Python::AstDefaultVisitor::visitCode(Python::CodeAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonparser.so
#19 0x00007f0c2e7d4b57 in Python::ContextBuilder::visitCode(Python::CodeAst*) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#20 0x00007f0c2e8867f6 in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/31/kdevpythonlanguagesupport.so
#21 0x00007f0c62276d9a in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#22 0x00007f0c62277308 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#23 0x00007f0c62276110 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#24 0x00007f0c62275c6b in ThreadWeaver::Thread::run() () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#25 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#26 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#27 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7f0c1effd700 (LWP 14624)):
#0  0x00007f0c659bcae0 in __GI___nanosleep (requested_time=0x7f0c1effbeb0, remaining=0x7f0c1effbeb0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007f0c65ef8aed in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f0c64966908 in KDevelop::DUChainLock::lockForWrite(unsigned int) () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#3  0x00007f0c64966b0c in KDevelop::DUChainWriteLocker::lock() () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#4  0x00007f0c2e7cff7a in Python::ContextBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#5  0x00007f0c2e7d9a05 in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#6  0x00007f0c2e7d9abe in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f0c2e8865ba in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/31/kdevpythonlanguagesupport.so
#8  0x00007f0c62276d9a in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x00007f0c62277308 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x00007f0c62276110 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x00007f0c62275c6b in ThreadWeaver::Thread::run() () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7f0c1f7fe700 (LWP 14623)):
#0  0x00007f0c659bcae0 in __GI___nanosleep (requested_time=0x7f0c1f7fceb0, remaining=0x7f0c1f7fceb0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007f0c65ef8aed in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f0c64966908 in KDevelop::DUChainLock::lockForWrite(unsigned int) () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#3  0x00007f0c64966b0c in KDevelop::DUChainWriteLocker::lock() () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#4  0x00007f0c2e7cff7a in Python::ContextBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#5  0x00007f0c2e7d9a05 in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#6  0x00007f0c2e7d9abe in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f0c2e8865ba in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/31/kdevpythonlanguagesupport.so
#8  0x00007f0c62276d9a in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x00007f0c62277308 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x00007f0c62276110 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x00007f0c62275c6b in ThreadWeaver::Thread::run() () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7f0c1ffff700 (LWP 14622)):
#0  0x00007f0c659bcae0 in __GI___nanosleep (requested_time=0x7f0c1fffdeb0, remaining=0x7f0c1fffdeb0) at ../sysdeps/unix/sysv/linux/nanosleep.c:28
#1  0x00007f0c65ef8aed in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#2  0x00007f0c64966908 in KDevelop::DUChainLock::lockForWrite(unsigned int) () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#3  0x00007f0c64966b0c in KDevelop::DUChainWriteLocker::lock() () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#4  0x00007f0c2e7cffe3 in Python::ContextBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#5  0x00007f0c2e7d9a05 in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#6  0x00007f0c2e7d9abe in Python::DeclarationBuilder::build(KDevelop::IndexedString const&, Python::Ast*, KDevelop::ReferencedTopDUContext const&) () at /usr/lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f0c2e8865ba in  () at /usr/lib/x86_64-linux-gnu/qt5/plugins/kdevplatform/31/kdevpythonlanguagesupport.so
#8  0x00007f0c62276d9a in ThreadWeaver::IdDecorator::run(QSharedPointer<ThreadWeaver::JobInterface>, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#9  0x00007f0c62277308 in ThreadWeaver::Executor::run(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#10 0x00007f0c62276110 in ThreadWeaver::Job::execute(QSharedPointer<ThreadWeaver::JobInterface> const&, ThreadWeaver::Thread*) () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#11 0x00007f0c62275c6b in ThreadWeaver::Thread::run() () at /usr/lib/x86_64-linux-gnu/libKF5ThreadWeaver.so.5
#12 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#13 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#14 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f0c2d1c6700 (LWP 14513)):
#0  0x00007f0c62326ce4 in g_mutex_unlock () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f0c622dc53c in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0c622dcf4b in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f0c2dfc49e5 in  () at /usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/XmlListModel/libqmlxmllistmodelplugin.so
#8  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#10 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f0c453b8700 (LWP 14447)):
#0  0x00007f0c659e4bd9 in __GI___poll (fds=0x7f0c28004da0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0c622dd016 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f0c64a25ecc in  () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#7  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f0c44bb7700 (LWP 14446)):
#0  0x00007f0c659e0804 in __GI___libc_read (nbytes=16, buf=0x7f0c44bb69e0, fd=22) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f0c659e0804 in __GI___libc_read (fd=22, buf=0x7f0c44bb69e0, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f0c62322950 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c622dcaef in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0c622dcfc0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f0c63516375 in  () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#10 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#12 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f0c45c48700 (LWP 14441)):
#0  0x00007f0c622dcf0e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#7  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f0c467a6700 (LWP 14439)):
#0  0x00007f0c659e0804 in __GI___libc_read (nbytes=16, buf=0x7f0c467a5a00, fd=14) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f0c659e0804 in __GI___libc_read (fd=14, buf=0x7f0c467a5a00, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f0c62322950 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c622dcaef in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0c622dcfc0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#11 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f0c477fe700 (LWP 14438)):
#0  0x00007f0c659e0804 in __GI___libc_read (nbytes=16, buf=0x7f0c477fd990, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26
#1  0x00007f0c659e0804 in __GI___libc_read (fd=13, buf=0x7f0c477fd990, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f0c62322950 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c622dcaef in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f0c622dcfc0 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f0c6492108b in  () at /usr/lib/x86_64-linux-gnu/libKDevPlatformLanguage.so.53
#10 0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#11 0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#12 0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f0c47fff700 (LWP 14437)):
#0  0x00007f0c62f61fec in futex_wait_cancelable (private=0, expected=0, futex_word=0x55e5b3c09e38) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f0c62f61fec in __pthread_cond_wait_common (abstime=0x0, mutex=0x55e5b3c09de8, cond=0x55e5b3c09e10) at pthread_cond_wait.c:502
#2  0x00007f0c62f61fec in __pthread_cond_wait (cond=0x55e5b3c09e10, mutex=0x55e5b3c09de8) at pthread_cond_wait.c:655
#3  0x00007f0c4cbcc6fb in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f0c4cbcc427 in  () at /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f0c5526b700 (LWP 14436)):
#0  0x00007f0c659e4bd9 in __GI___poll (fds=0x7f0c4800e560, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0c622dd016 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0c65cf5106 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f0c66e7c545 in  () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#9  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f0c560f9700 (LWP 14435)):
#0  0x00007f0c659e4bd9 in __GI___poll (fds=0x7f0c560f8b38, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f0c5e094cf7 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f0c5e09691a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f0c569e5519 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f0c65cfecd7 in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#6  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f0c578bc700 (LWP 14434)):
#0  0x00007f0c62f61fec in futex_wait_cancelable (private=0, expected=0, futex_word=0x7f0c61f2c130) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f0c62f61fec in __pthread_cond_wait_common (abstime=0x0, mutex=0x55e5b390eba0, cond=0x7f0c61f2c108) at pthread_cond_wait.c:502
#2  0x00007f0c62f61fec in __pthread_cond_wait (cond=0x7f0c61f2c108, mutex=0x55e5b390eba0) at pthread_cond_wait.c:655
#3  0x00007f0c65b6d38c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f0c61458812 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#5  0x00007f0c61458929 in  () at /usr/lib/x86_64-linux-gnu/libQt5WebKit.so.5
#6  0x00007f0c65b72aff in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f0c62f5bfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#8  0x00007f0c659ef88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f0c578c0980 (LWP 14433)):
#0  0x00007f0c62f61fec in futex_wait_cancelable (private=0, expected=0, futex_word=0x7fffe0463b88) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007f0c62f61fec in __pthread_cond_wait_common (abstime=0x0, mutex=0x55e5b39211c8, cond=0x7fffe0463b60) at pthread_cond_wait.c:502
#2  0x00007f0c62f61fec in __pthread_cond_wait (cond=0x7fffe0463b60, mutex=0x55e5b39211c8) at pthread_cond_wait.c:655
#3  0x00007f0c5e094f02 in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007f0c5e09663f in  () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#5  0x00007f0c5e096752 in xcb_wait_for_reply () at /usr/lib/x86_64-linux-gnu/libxcb.so.1
#6  0x00007f0c56a0e9cb in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#7  0x00007f0c569f42a2 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#8  0x00007f0c56a0b1ea in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#9  0x00007f0c56a0b85b in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#10 0x00007f0c663450f4 in QWindowPrivate::applyCursor() () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#11 0x00007f0c66348ecd in QWindowPrivate::setCursor(QCursor const*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#12 0x00007f0c669945eb in  () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f0c6699e2ac in QWidget::setCursor(QCursor const&) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#14 0x00007f0c639cd996 in  () at /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5
#15 0x00007f0c65ed0820 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f0c65edc407 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#17 0x00007f0c65ed0f3b in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#18 0x00007f0c6696b491 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007f0c66972ad0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#20 0x00007f0c65ea7479 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f0c65ef8568 in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007f0c65ef8dfc in  () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#23 0x00007f0c622dce0e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007f0c622dd0a8 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007f0c622dd13c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007f0c65ef916b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#27 0x00007f0c56a78861 in  () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#28 0x00007f0c65ea614b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#29 0x00007f0c65eae2c2 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#30 0x000055e5b1a51726 in  ()
#31 0x00007f0c6591a09b in __libc_start_main (main=0x55e5b1a4bc60, argc=1, argv=0x7fffe04648f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffe04648e8) at ../csu/libc-start.c:308
#32 0x000055e5b1a5226a in _start ()
[Inferior 1 (process 14433) detached]

Reported using DrKonqi
Comment 1 Sven Brauch 2019-01-11 11:06:37 UTC
@Francis this looks like the issue you fixed recently ...?
Comment 2 Francis Herne 2019-01-11 14:14:00 UTC
I don't think it is, there's no annotated assignment in the call stack...

Looks similar, though.


To the reporter:

Thanks for the report.

The crash is in the Python parser, probably triggered by some specific combination of syntax.

If you run `export QT_LOGGING_RULES="kdevelop.plugins.python=true"` before starting KDevelop, it will print (among other things) lines of the format

`kdevelop.plugins.python:  ====> PARSING ====> parsing file  QUrl("file:///home/flh/foo.py") ; has priority -10000`

This should identify the file being parsed at the time of the crash.

The call stack in your crash report should help find the specific part responsible; it involved:

 - An attribute access
 - Inside a list comprehension
 - As part of a function call (either as an argument, or the thing being called)
 - At the top level of a function body.

If you can produce a minimal example (perhaps with variable names etc. anonymized) that would help identify and fix the problem.


Note: I have tried to reproduce the issue just by looking at the call stack, but without success so far.
Comment 3 Jonathan Verner 2019-01-11 19:36:24 UTC
Created attachment 117409 [details]
New crash information added by DrKonqi

kdevelop (5.3.1) using Qt 5.11.2

Editing the following python code:


from typing import Dict, Iterable, List, Optional, Tuple, Union


class Comment:
    pass

class Lexeme:
    pass

class LexicalUnit:
    pass

class LexemeCollection:
    def __init__(self, lexemes: Optional[Iterable[Lexeme]] = None):
        self._lexemes: Dict[str, Lexeme] = {lex._id: lex for lex in lexemes}
        self._lexical_units = {lu._id: lu for lu in sum([lex._lexical_units for lex in lexemes], [])}

reliably leads to a crash

-- Backtrace (Reduced):
#6  0x00007f4aeaa2b280 in Python::UseBuilder::contextAtOrCurrent(KDevelop::CursorInRevision const&) () at /lib/x86_64-linux-gnu/libkdevpythonduchain.so
#7  0x00007f4aeaa2c272 in Python::UseBuilder::visitName(Python::NameAst*) () at /lib/x86_64-linux-gnu/libkdevpythonduchain.so
#8  0x00007f4aebbbbed6 in Python::AstDefaultVisitor::visitAttribute(Python::AttributeAst*) () at /lib/x86_64-linux-gnu/libkdevpythonparser.so
#9  0x00007f4aeaa2bd26 in Python::UseBuilder::visitAttribute(Python::AttributeAst*) () at /lib/x86_64-linux-gnu/libkdevpythonduchain.so
#10 0x00007f4aebbbd076 in Python::AstDefaultVisitor::visitDictionaryComprehension(Python::DictionaryComprehensionAst*) () at /lib/x86_64-linux-gnu/libkdevpythonparser.so
Comment 4 Francis Herne 2019-01-11 22:05:03 UTC
Thanks for the reduced example!

Now I'm a bit puzzled...

The example in your last comment is (like Sven suspected before) an instance of https://bugs.kde.org/show_bug.cgi?id=403045 , which should be fixed by the patch linked in that bug.

My concern is that your original backtrace still *doesn't* look like an instance of that bug to me, thus it's possible that you've been unlucky and encountered two different ones.

Can you please try with the patch from above (or just 5.3-git) and see if it does solve your original problem?

Thanks again, and sorry for the bugs...
Comment 5 Jonathan Verner 2019-01-12 12:19:56 UTC
> My concern is that your original backtrace still *doesn't* look like an instance of that bug to me, thus it's possible that you've been unlucky and encountered two different ones.

I am sorry for the confusion I probably caused. I am not the original reporter of this bug, its just that drKonqui directed me to this bug which seemed to have a very similar backtrace, so I added my comments here...

> Can you please try with the patch from above (or just 5.3-git) and see if it does solve your original problem?

The kdevelop-git appimage indeed does not crash on my reduced example. But again, I am not sure about the originally reported case by Salvo


> Thanks again, and sorry for the bugs...

Thank you for working on this excellent IDE!!
Comment 6 Francis Herne 2019-01-12 21:56:59 UTC
Sorry, I should have noticed the different names.

In that case, I'm fairly certain the original bug is a different one.

-

Salvo: Please try to add a reduced code example using my steps from Comment #2 above; I still haven't been able to reproduce the bug from only the backtrace.
Comment 7 Salvo "LtWorf" Tomaselli 2019-01-14 12:14:44 UTC
I ran it with the debug option a couple of times, and the last file before the crash was not the same in both cases.

In one case it was a py file in /usr, so it can't be that or it would always crash.

Anyway I had tried to bisect and delete files to figure out the responsible one, and I failed to locate a single file that causes the crash. It looks more like a combination of more files.
Comment 8 Francis Herne 2019-01-14 12:46:41 UTC
Thank you for making the effort!

As a parser crash, I think it's unlikely that multiple files are involved.

It's possible that, with multiple parser threads running, the last filename printed could be from a different thread than the one that crashes.

(sorry, I should have considered that in my earlier suggestions)

You might try setting `Configure KDevelop -> Background Parser -> Maximum number of threads` to 1, or simply looking at the last 3 or 4 filenames to see if any are consistent.

Re. files under /usr - it's possible that code in some library file causes the crash, if it's imported in this project but not in others that you've used KDevelop on.
Comment 9 Salvo "LtWorf" Tomaselli 2019-01-14 13:42:20 UTC
So I narrowed it down to this function.

I guess it's small and useless enough that I can publish it.

Also, I didn't write it, I'd never use set() on a list comprehension :D



def is_environment_complete(environment: Environment, scenario: Scenario) -> bool:
    current_nodes = environment.nodes
    current_node_names = set([n.name for n in current_nodes])
    current_node_roles: Set[str] = set(sum([n.roles for n in current_nodes], []))
    expected_nodes = scenario.nodes
    expected_node_names = set([n.name for n in expected_nodes])
    expected_node_roles: Set[str] = set(sum([n.roles for n in expected_nodes], []))

    return current_node_names == expected_node_names and current_node_roles == expected_node_roles
Comment 10 Francis Herne 2019-01-14 13:59:57 UTC
Aaagh.

Thanks again for your work.

I can reproduce the crash with your example in 5.3.1; I'm afraid it does seem to be another instance of https://bugs.kde.org/show_bug.cgi?id=403045 (which I fixed last week).

I still can't see how the annotated assignment doesn't appear in your original backtrace, so it's barely possible there's a second bug, but all the rest of the AST appears to match.

I'm going to close this as a duplicate of the linked bug for now.

If it recurs with kdev-python 5.3-git, 5.3.2 when that's released, or 5.3.1 with the one-line patch from the linked bug, please reopen.

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