| Summary: | KDevelop sometimes hangs on exit | ||
|---|---|---|---|
| Product: | [Applications] kdevelop | Reporter: | RJVB <rjvbertin> |
| Component: | general | Assignee: | kdevelop-bugs-null |
| Status: | CONFIRMED --- | ||
| Severity: | crash | CC: | rjvbertin |
| Priority: | NOR | Keywords: | drkonqi |
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
RJVB
2020-04-08 08:11:55 UTC
(drKonqi balks something about private attachments not being allowed when I try to upload the latest report, so here it is manually): Application: kdevelop (5.5.0-25-g0dda64acb3) (Compiled from sources) Qt Version: 5.9.8 Frameworks Version: 5.60.0 Operating System: Linux 4.14.23-ck1-mainline-core2-rjvb x86_64 Windowing system: X11 Distribution: Ubuntu 14.04.6 LTS -- Information about the crash: - What I was doing when the application crashed: As the previous time, I quit KDevelop and a deadlock ensued after the languageController was cleaned up. The crash can be reproduced sometimes. -- Backtrace: Application: KDevelop (kdevelop), signal: Aborted Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7f42d08f0c80 (LWP 23120))] Thread 7 (Thread 0x7f42976fd700 (LWP 24412)): #0 0x00007f42c729537d in read () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f42bdaeaa7f in g_wakeup_acknowledge (wakeup=0x7f4290002780) at gwakeup.c:210 #2 g_main_context_check (context=0x7f428c000990, max_priority=2147483647, fds=0x7f428c0013c0, n_fds=1) at gmain.c:3686 #3 0x00007f42bdaeb7a6 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3905 #4 0x00007f42bdaeba21 in g_main_context_iteration (context=0x7f428c000990, may_block=1) at gmain.c:3969 #5 0x00007f42c80a4b7b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #6 0x00007f42c804c5df in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #7 0x00007f42c7e8c7b7 in QThread::exec() () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #8 0x00007f42c7e8d946 in QThreadPrivate::start(void*) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #9 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 6 (Thread 0x7f429d9ed700 (LWP 24325)): #0 0x00007f42c7296c9d in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f42bdaeb761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209 #2 g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903 #3 0x00007f42bdaeba21 in g_main_context_iteration (context=0x7f4290000990, may_block=1) at gmain.c:3969 #4 0x00007f42c80a4b7b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #5 0x00007f42c804c5df in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #6 0x00007f42c7e8c7b7 in QThread::exec() () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #7 0x00007f42c7e8d946 in QThreadPrivate::start(void*) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #8 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #9 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 5 (Thread 0x7f429e84e700 (LWP 24248)): #0 0x00007f42c7296c9d in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f42bdaeb761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209 #2 g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903 #3 0x00007f42bdaeba21 in g_main_context_iteration (context=0x7f4298000990, may_block=1) at gmain.c:3969 #4 0x00007f42c80a4b7b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #5 0x00007f42c804c5df in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #6 0x00007f42c7e8c7b7 in QThread::exec() () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #7 0x00007f42cf246a2e in KDevelop::DUChainPrivate::CleanupThread::run (this=0x2cec140) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/kdevplatform/language/duchain/duchain.cpp:331 #8 0x00007f42c7e8d946 in QThreadPrivate::start(void*) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #9 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 4 (Thread 0x7f42a014d700 (LWP 23759)): #0 0x00007f42c4797404 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0 #1 0x00007f42a0ddcb2b in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../mesa-18.3.3/src/../include/c11/threads_posix.h:155 #2 util_queue_thread_func (input=<optimized out>) at ../mesa-18.3.3/src/util/u_queue.c:270 #3 0x00007f42a0ddd446 in impl_thrd_routine (p=<optimized out>) at ../mesa-18.3.3/src/../include/c11/threads_posix.h:87 #4 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #5 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 3 (Thread 0x7f42b0b3f700 (LWP 23303)): #0 g_source_iter_next (iter=<optimized out>, source=<optimized out>) at gmain.c:982 #1 g_main_context_prepare (context=0x7f42a4000990, priority=0x7f42b0b3e82c) at gmain.c:3458 #2 0x00007f42bdaeb5b8 in g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3888 #3 0x00007f42bdaeba21 in g_main_context_iteration (context=0x7f42a4000990, may_block=1) at gmain.c:3969 #4 0x00007f42c80a4b7b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #5 0x00007f42c804c5df in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #6 0x00007f42c7e8c7b7 in QThread::exec() () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #7 0x00007f42c9704840 in QDBusConnectionManager::run() () from /opt/local/libexec/qt512/lib/libQt5DBus.so.5 #8 0x00007f42c7e8d946 in QThreadPrivate::start(void*) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #9 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #10 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 2 (Thread 0x7f42b2427700 (LWP 23193)): #0 0x00007f42c7296c9d in poll () from /lib/x86_64-linux-gnu/libc.so.6 #1 0x00007f42bc562ab2 in _xcb_conn_wait () from /opt/local/lib/libxcb.so.1 #2 0x00007f42bc564eba in xcb_wait_for_event () from /opt/local/lib/libxcb.so.1 #3 0x00007f42b43b7448 in QXcbEventQueue::run() () from /opt/local/libexec/qt512/lib/libQt5XcbQpa.so.5 #4 0x00007f42c7e8d946 in QThreadPrivate::start(void*) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #5 0x00007f42c4793184 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0 #6 0x00007f42c72a403d in clone () from /lib/x86_64-linux-gnu/libc.so.6 Thread 1 (Thread 0x7f42d08f0c80 (LWP 23120)): [KCrash Handler] #6 0x00007f42c7296c9d in poll () from /lib/x86_64-linux-gnu/libc.so.6 #7 0x00007f42bdaeb761 in g_main_context_poll (priority=0, context=<optimized out>, timeout=<optimized out>, fds=<optimized out>, n_fds=<optimized out>) at gmain.c:4209 #8 g_main_context_iterate (context=<optimized out>, block=<optimized out>, dispatch=<optimized out>, self=<optimized out>) at gmain.c:3903 #9 0x00007f42bdaeba21 in g_main_context_iteration (context=0x7f42ac003030, may_block=1) at gmain.c:3969 #10 0x00007f42c80a4b7b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #11 0x00007f42c804c5df in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #12 0x00007f42c8051031 in QCoreApplication::exec() () from /opt/local/libexec/qt512/lib/libQt5Core.so.5 #13 0x00000000004138fa in main (argc=<optimized out>, argv=<optimized out>) at /opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-kdevelop/kf5-kdevelop-devel/work/kf5-kdevelop-5/app/main.cpp:1008 Possible duplicates by query: bug 420414, bug 420303, bug 420134, bug 419831, bug 419777. Report to https://bugs.kde.org/ Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version? If you can reproduce the issue, please change the status to "CONFIRMED" when replying. Thank you! This still happens (and AFAIK there has been very little development on KDevelop since). My workaround has been to implement a timer that is started late in the cleanup procedure and which will send a SIGHUP to the process after 1 minute. This can't be a QTimer because the hang occurs after Qt's shut down code. I see this feature trigger with some regularity, esp. after longer and/or more complex sessions. |