Summary: | drkonqi, kioslave5, and gdb crashed when creating traces of plasmashell crashes | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Matt Fagnani <matt.fagnani> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | akselmo, sitter |
Priority: | NOR | ||
Version: | 5.27.10 | ||
Target Milestone: | 1.0 | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Journal for the drkonqi, kioslave, gdb crashes when creating a plasmashell crash trace |
Description
Matt Fagnani
2023-12-09 00:20:35 UTC
I am not quite following. If gdb crashes drkonqi cannot possibly present a backtrace. Your expected result can just not happen, can it? (In reply to Harald Sitter from comment #1) > I am not quite following. If gdb crashes drkonqi cannot possibly present a > backtrace. Your expected result can just not happen, can it? I expected that drkonqi wouldn't have crashed when creating a trace for the plasmashell crash, which I didn't write but was implied, and then that drkonqi would have shown the trace. plasma-plasmashell.service appeared to time out when responding to SIGTERM in the journal message I included "plasma-plasmashell.service: State 'stop-sigterm' timed out. Aborting"; that message seemed to happen when drkonqi was creating the plasmashell trace which usually was ongoing for at least 20 seconds when the crashes happened. plasmashell, drkonqi, kioslave5, and gdb were aborted right after that based on the plasma-plasmashell.service timeout. I'm unsure if that happened for all such crashes, but it might explain the crashes I saw at least in part. Thanks. You haven't posted a drkonqi backtrace though? (In reply to Harald Sitter from comment #3) > You haven't posted a drkonqi backtrace though? There wasn't a drkonqi trace for the crash when creating the plasmashell trace because drkonqi crashed the second time when creating the drkonqi trace as I reported in "Another drkonqi window appeared for the drkonqi trace. I pressed Developer Information again in drkonqi. drkonqi crashed again." After reproducing the problem again twice, I think the trace involving File "/usr/share/drkonqi/gdb/preamble.py", line 518, in qml_trace_frame at the end of the summary section on my report was from the second drkonqi crash when creating the trace of the previous drkonqi crash. The following similar trace only appeared in the journal after I selected Developer Information in drkonqi to create the trace for the first drkonqi crash, but not when I didn't try to create the trace of the first drkonqi crash at a different time going through the reproduction steps. Dec 09 21:24:47 plasmashell[6584]: Traceback (most recent call last): Dec 09 21:24:47 plasmashell[6584]: File "<string>", line 1, in <module> Dec 09 21:24:47 plasmashell[6584]: File "/usr/share/drkonqi/gdb/preamble.py", line 620, in print_preamble Dec 09 21:24:47 plasmashell[6584]: print_qml_trace() Dec 09 21:24:47 plasmashell[6584]: File "/usr/share/drkonqi/gdb/preamble.py", line 578, in print_qml_trace Dec 09 21:24:47 plasmashell[6584]: ret = qml_trace_frame(frame) Dec 09 21:24:47 plasmashell[6584]: ^^^^^^^^^^^^^^^^^^^^^^ Dec 09 21:24:47 plasmashell[6584]: File "/usr/share/drkonqi/gdb/preamble.py", line 510, in qml_trace_frame Dec 09 21:24:47 plasmashell[6584]: value = symbol.value(frame) Dec 09 21:24:47 plasmashell[6584]: ^^^^^^^^^^^^^^^^^^^ Dec 09 21:24:47 plasmashell[6584]: KeyboardInterrupt Dec 09 21:24:47 plasmashell[6584]: /tmp/drkonqi.qnFYEn:3: Error in sourced command file: Dec 09 21:24:47 plasmashell[6584]: Error while executing Python code. Dec 09 21:24:47 systemd[3541]: plasma-plasmashell.service: Failed with result 'timeout'. Dec 09 21:24:47 systemd[3541]: plasma-plasmashell.service: Consumed 1min 58.780s CPU time. Dec 09 21:24:47 systemd[3541]: plasma-plasmashell.service: Scheduled restart job, restart counter is at 3. Dec 09 21:24:47 systemd[3541]: Starting plasma-plasmashell.service - KDE Plasma Workspace... The creation of the trace for the plasmashell crash took 20-40 seconds and appeared to get SIGTERM sent to plasma-plasmashell.service which timed out instead of terminating and resulted in SIGABRT being sent to plasmashell, drkonqi, kioslave5, and gdb. I don't know what specifically during the plasmashell trace creation resulted in the SIGTERM being sent to plasma-plasmashell.service. Thanks. Alas, I can't do anything without a trace, sorry. There are systemd service watchdog timeouts which default to 45 s like DefaultTimeoutStopSec=45s in man systemd-user.conf. The drkonqi and gdb aborts did usually happen about 45 s after the plasmashell crashes This timeout might explain the plasma-plasmashell.service: State 'stop-sigterm' timed out. Aborting. and the plasmashell, drkonqi, kioslave5, gdb crashes that resulted. I tried to increase the timeout in /etc/systemd/user.conf to DefaultTimeoutStopSec=120s and rebooted. I couldn't reproduce the plasmashell crash when that happened, but I can try it again. I reproduced the plasmashell crash before that and ran gdb -p $(pidof drkonqi) from Konsole then tried to create a trace of plasmashell. The trace of drkonqi when it aborted appeared to have all of its threads waiting. Thread 1 "drkonqi" received signal SIGABRT, Aborted. 0x00007facae321bcd in __GI___poll (fds=0x559976bad470, nfds=4, timeout=53546) at ../sysdeps/unix/sysv/linux/poll.c:29 29 return SYSCALL_CANCEL (poll, fds, nfds, timeout); (gdb) thread apply all bt Thread 16 (Thread 0x7fac59e296c0 (LWP 14297) "drkonqi:sh1"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55997610d764) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55997610d764, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55997610d764, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x55997610d738) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55997610d738, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x7fac5005e990) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 15 (Thread 0x7fac5aa616c0 (LWP 14296) "QSGRenderThread"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x559976053424) at futex-internal.c:57 --Type <RET> for more, q to quit, c to continue without paging--c #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x559976053424, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x559976053424, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x5599760533f8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5599760533f8, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007facae8fb877 in QWaitConditionPrivate::wait (deadline=..., this=0x5599760533d0) at thread/qwaitcondition_unix.cpp:146 #6 QWaitCondition::wait (this=this@entry=0x7fac9800df58, mutex=mutex@entry=0x7fac9800df50, deadline=...) at thread/qwaitcondition_unix.cpp:225 #7 0x00007fac97a4b67a in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x7fac9800df48) at scenegraph/qsgthreadedrenderloop.cpp:257 #8 QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x7fac9800deb0) at scenegraph/qsgthreadedrenderloop.cpp:935 #9 0x00007fac97a4dbcd in QSGRenderThread::run (this=0x7fac9800deb0) at scenegraph/qsgthreadedrenderloop.cpp:1052 #10 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #11 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #12 QThreadPrivate::start (arg=0x7fac9800deb0) at thread/qthread_unix.cpp:310 #13 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #14 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 14 (Thread 0x7fac5b2626c0 (LWP 14295) "drkonqi:gl0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5599769992d8) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5599769992d8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5599769992d8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x5599769992b0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5599769992b0, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x559976702ce0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 13 (Thread 0x7fac5ba636c0 (LWP 14294) "drkonqi:gdrv0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5599769653a8) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5599769653a8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5599769653a8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x559976965380) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x559976965380, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x5599768124c0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 12 (Thread 0x7fac63fff6c0 (LWP 14293) "drkonqi:gl0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5599768e7de8) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5599768e7de8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5599768e7de8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x5599768e7dc0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5599768e7dc0, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x5599768184a0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 11 (Thread 0x7fac809ff6c0 (LWP 14292) "drkonqi:gdrv0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5599768b3ebc) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x5599768b3ebc, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5599768b3ebc, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x5599768b3e90) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x5599768b3e90, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x55997678cf70) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 10 (Thread 0x7fac8c9fd6c0 (LWP 14289) "Qt bearer threa"): #0 0x00007facae321bcd in __GI___poll (fds=0x7fac640013f0, nfds=1, timeout=10167) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007facad168eb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=1, fds=0x7fac640013f0, timeout=<optimized out>, context=0x7fac64000c30) at ../glib/gmain.c:4653 #2 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fac64000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344 #3 0x00007facad10bad3 in g_main_context_iteration (context=0x7fac64000c30, may_block=1) at ../glib/gmain.c:4414 #4 0x00007facaeb06ad9 in QEventDispatcherGlib::processEvents (this=0x7fac64000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007facaeab2f5b in QEventLoop::exec (this=this@entry=0x7fac8c9fcbb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007facae8f47b0 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #8 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #9 QThreadPrivate::start (arg=0x5599763e6390) at thread/qthread_unix.cpp:310 #10 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #11 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 9 (Thread 0x7fac8d1fe6c0 (LWP 14288) "QQmlThread"): #0 0x00007facae321bcd in __GI___poll (fds=0x7fac700013d0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007facad168eb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=1, fds=0x7fac700013d0, timeout=<optimized out>, context=0x7fac70000c30) at ../glib/gmain.c:4653 #2 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fac70000c30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344 #3 0x00007facad10bad3 in g_main_context_iteration (context=0x7fac70000c30, may_block=1) at ../glib/gmain.c:4414 #4 0x00007facaeb06ad9 in QEventDispatcherGlib::processEvents (this=0x7fac70000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007facaeab2f5b in QEventLoop::exec (this=this@entry=0x7fac8d1fdb90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007facae8f47b0 in QThread::exec (this=this@entry=0x55997648c050) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007facb0959e0a in QQmlThreadPrivate::run (this=0x55997648c050) at qml/ftw/qqmlthread.cpp:155 #8 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #9 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #10 QThreadPrivate::start (arg=0x55997648c050) at thread/qthread_unix.cpp:310 #11 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #12 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 8 (Thread 0x7fac8d9ff6c0 (LWP 14283) "drkonqi:shlo0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55997610d908) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55997610d908, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55997610d908, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x55997610d8e0) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55997610d8e0, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x5599761e57b0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 7 (Thread 0x7fac94dd06c0 (LWP 14282) "drkonqi:sh0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55997610d760) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55997610d760, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55997610d760, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x55997610d738) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55997610d738, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x5599761e54f0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 6 (Thread 0x7fac955d16c0 (LWP 14281) "drkonqi:disk$0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55997614fd70) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55997614fd70, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55997614fd70, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x55997614fd48) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55997614fd48, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x5599761e62e0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 5 (Thread 0x7fac95f196c0 (LWP 14280) "drkonqi:cs0"): #0 0x00007facae2a5169 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55997610ca14) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55997610ca14, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007facae2a51ef in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55997610ca14, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007facae2a7b09 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=<optimized out>, cond=0x55997610c9e8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=0x55997610c9e8, mutex=<optimized out>) at pthread_cond_wait.c:618 #5 0x00007fac8db6abfd in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:135 #6 0x00007fac8db1962b in util_queue_thread_func (input=input@entry=0x55997610abc0) at ../src/util/u_queue.c:290 #7 0x00007fac8db6ab2c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:67 #8 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #9 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 4 (Thread 0x7fac969c86c0 (LWP 14279) "WaylandEventThr"): #0 0x00007facae321bcd in __GI___poll (fds=fds@entry=0x7fac969c7ba0, nfds=nfds@entry=2, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fac9cd020ac in poll (__timeout=-1, __nfds=2, __fds=0x7fac969c7ba0) at /usr/include/bits/poll2.h:39 #2 QtWaylandClient::EventThread::run (this=0x55997607c060) at /usr/src/debug/qt5-qtwayland-5.15.11-1.fc39.x86_64/src/client/qwaylanddisplay.cpp:210 #3 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #4 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #5 QThreadPrivate::start (arg=0x55997607c060) at thread/qthread_unix.cpp:310 #6 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #7 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 3 (Thread 0x7fac971c96c0 (LWP 14278) "WaylandEventThr"): #0 0x00007facae321bcd in __GI___poll (fds=fds@entry=0x7fac971c8ba0, nfds=nfds@entry=2, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fac9cd020ac in poll (__timeout=-1, __nfds=2, __fds=0x7fac971c8ba0) at /usr/include/bits/poll2.h:39 #2 QtWaylandClient::EventThread::run (this=0x559976081530) at /usr/src/debug/qt5-qtwayland-5.15.11-1.fc39.x86_64/src/client/qwaylanddisplay.cpp:210 #3 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #4 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #5 QThreadPrivate::start (arg=0x559976081530) at thread/qthread_unix.cpp:310 #6 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #7 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 2 (Thread 0x7fac9ca516c0 (LWP 14277) "QDBusConnection"): #0 0x00007facae321bcd in __GI___poll (fds=0x7fac980015c0, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007facad168eb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=3, fds=0x7fac980015c0, timeout=<optimized out>, context=0x7fac98000c50) at ../glib/gmain.c:4653 #2 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fac98000c50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344 #3 0x00007facad10bad3 in g_main_context_iteration (context=0x7fac98000c50, may_block=1) at ../glib/gmain.c:4414 #4 0x00007facaeb06ad9 in QEventDispatcherGlib::processEvents (this=0x7fac98000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007facaeab2f5b in QEventLoop::exec (this=this@entry=0x7fac9ca50b80, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007facae8f47b0 in QThread::exec (this=this@entry=0x7facaf7f7060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007facaf77ddab in QDBusConnectionManager::run (this=0x7facaf7f7060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179 #8 0x00007facae8f5bbd in operator() (__closure=<optimized out>) at thread/qthread_unix.cpp:350 #9 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>) at thread/qthread_unix.cpp:287 #10 QThreadPrivate::start (arg=0x7facaf7f7060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:310 #11 0x00007facae2a8897 in start_thread (arg=<optimized out>) at pthread_create.c:444 #12 0x00007facae32f6fc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Thread 1 (Thread 0x7facafa2f9c0 (LWP 14276) "drkonqi"): #0 0x00007facae321bcd in __GI___poll (fds=0x559976bad470, nfds=4, timeout=53546) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007facad168eb4 in g_main_context_poll_unlocked (priority=2147483647, n_fds=4, fds=0x559976bad470, timeout=<optimized out>, context=0x7fac98000ec0) at ../glib/gmain.c:4653 #2 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fac98000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4344 #3 0x00007facad10bad3 in g_main_context_iteration (context=0x7fac98000ec0, may_block=1) at ../glib/gmain.c:4414 #4 0x00007facaeb06ad9 in QEventDispatcherGlib::processEvents (this=0x559976085690, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #5 0x00007facaeab2f5b in QEventLoop::exec (this=this@entry=0x7ffc19226190, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #6 0x00007facaeabb1eb in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x0000559975e3cb90 in main () I attached gdb to the second drkonqi window when run on the drkonqi crash and created a trace of the drkonqi trace. All the second drkonqi threads appeared to be waiting as well when it crashed. I removed the qt5, glib2, and glibc debuginfo packages I had installed and reproduced the plasmashell crash. drkonqi and kioslave5 didn't crash when I created a trace in drkonqi, but gdb crashed with a segmentation fault and drkonqi showed that the crash information couldn't be created. Core was generated by `/usr/bin/gdb -nw -n -batch -x /tmp/drkonqi.TTkFsq -x /tmp/drkonqi.lSUBPQ -p 183'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00005602a71e2ebc in operator() (__closure=<optimized out>, msg=0x5602a7ea2880 "0x5602a71e3140 ") at ../../gdb/bt-utils.c:59 59 gdb_stderr->write_async_safe (msg, strlen (msg)); [Current thread is 1 (Thread 0x7fdb2f086080 (LWP 19378))] (gdb) bt #0 0x00005602a71e2ebc in operator() (__closure=<optimized out>, msg=0x5602a7ea2880 "0x5602a71e3140 ") at ../../gdb/bt-utils.c:59 #1 libbacktrace_print (data=data@entry=0x0, pc=pc@entry=94569393697088, filename=0x7fdaf1405c90 "../../gdb/bt-utils.c", lineno=122, function=0x7fdaffe1d0b9 "gdb_internal_backtrace_1") at ../../gdb/bt-utils.c:94 #2 0x00005602a78c77d7 in report_inlined_functions (pc=pc@entry=94569393697088, callback=callback@entry=0x5602a71e2e50 <libbacktrace_print(void*, uintptr_t, char const*, int, char const*)>, data=data@entry=0x0, filename=filename@entry=0x5602a7ea2a70, lineno=0x5602a7ea2a30, function=0x7fdaf13e9fb8) at ../../libbacktrace/dwarf.c:3612 #3 0x00005602a78ca932 in dwarf_lookup_pc (state=<optimized out>, ddata=<optimized out>, pc=<optimized out>, callback=<optimized out>, error_callback=<optimized out>, data=<optimized out>, found=<optimized out>) at ../../libbacktrace/dwarf.c:3879 #4 0x00005602a78cc316 in dwarf_fileline (state=0x7fdb2f1d3000, pc=94569393697088, callback=0x5602a71e2e50 <libbacktrace_print(void*, uintptr_t, char const*, int, char const*)>, error_callback=0x5602a71e2d30 <libbacktrace_error(void*, char const*, int)>, data=0x0) at ../../libbacktrace/dwarf.c:3906 #5 0x00005602a78c0ae3 in unwind (context=<optimized out>, vdata=0x5602a7ea2dd0) at ../../libbacktrace/backtrace.c:91 #6 0x00007fdb2e72488d in _Unwind_Backtrace () from /lib64/libgcc_s.so.1 #7 0x00005602a78c0b6c in backtrace_full (state=0x7fdb2f1d3000, skip=<optimized out>, callback=<optimized out>, error_callback=<optimized out>, data=<optimized out>) at ../../libbacktrace/backtrace.c:127 --Type <RET> for more, q to quit, c to continue without paging--c #8 0x00005602a71e3141 in gdb_internal_backtrace_1 () at ../../gdb/bt-utils.c:122 #9 gdb_internal_backtrace () at ../../gdb/bt-utils.c:168 #10 0x00005602a7320253 in handle_fatal_signal (sig=sig@entry=11) at ../../gdb/event-top.c:895 #11 0x00005602a732042a in handle_sigsegv (sig=11) at ../../gdb/event-top.c:968 #12 <signal handler called> #13 block::scope (this=<optimized out>) at ../../gdb/block.c:293 #14 0x00005602a7267067 in cp_lookup_transparent_type (name=0x5602a93ce0b0 "QApplication") at ../../gdb/cp-namespace.c:1029 #15 0x00005602a735c09d in check_typedef (type=<optimized out>, type@entry=0x5602a93da450) at ../../gdb/gdbtypes.c:3052 #16 0x00005602a733e650 in language_defn::read_var_value (this=<optimized out>, var=0x5602aaa651b0, var_block=0x0, frame=...) at ../../gdb/findvar.c:518 #17 0x00005602a733d833 in read_var_value (var=var@entry=0x5602aaa651b0, var_block=var_block@entry=0x0, frame=...) at ../../gdb/findvar.c:746 #18 0x00005602a74dd879 in sympy_value (self=<optimized out>, args=<optimized out>) at ../../gdb/python/py-symbol.c:306 #19 0x00007fdb2e9fb4d6 in method_vectorcall_VARARGS () from /lib64/libpython3.12.so.1.0 #20 0x00007fdb2ea0ac7c in PyObject_Vectorcall () from /lib64/libpython3.12.so.1.0 #21 0x00007fdb2e90f7e1 in _PyEval_EvalFrameDefault.cold () from /lib64/libpython3.12.so.1.0 #22 0x00007fdb2ea8a996 in PyEval_EvalCode () from /lib64/libpython3.12.so.1.0 #23 0x00007fdb2eaadafa in run_eval_code_obj () from /lib64/libpython3.12.so.1.0 #24 0x00007fdb2eaa8a7e in run_mod () from /lib64/libpython3.12.so.1.0 #25 0x00007fdb2ea9ab16 in PyRun_StringFlags () from /lib64/libpython3.12.so.1.0 #26 0x00007fdb2ea9aa64 in PyRun_SimpleStringFlags () from /lib64/libpython3.12.so.1.0 #27 0x00005602a74f22da in python_command (arg=<optimized out>, from_tty=<optimized out>) at ../../gdb/python/python.c:453 #28 0x00005602a721f795 in cmd_func (cmd=<optimized out>, args=<optimized out>, from_tty=<optimized out>) at ../../gdb/cli/cli-decode.c:2735 #29 0x00005602a762fb25 in execute_command (p=<optimized out>, p@entry=0x5602c3a05290 "py print_preamble()", from_tty=<optimized out>) at ../../gdb/top.c:575 #30 0x00005602a7320ab2 in command_handler (command=0x5602c3a05290 "py print_preamble()") at ../../gdb/event-top.c:555 #31 0x00005602a7630525 in read_command_file (stream=stream@entry=0x5602c3ee1af0) at ../../gdb/top.c:342 #32 0x00005602a722d0e9 in script_from_file (stream=stream@entry=0x5602c3ee1af0, file=file@entry=0x7ffd6cf49733 "/tmp/drkonqi.TTkFsq") at ../../gdb/cli/cli-script.c:1642 #33 0x00005602a721d45b in source_script_from_stream ( file_to_open=0x5602c38da360 "/tmp/drkonqi.TTkFsq", file=0x7ffd6cf49733 "/tmp/drkonqi.TTkFsq", stream=0x5602c3ee1af0) at ../../gdb/cli/cli-cmds.c:730 #34 source_script_with_search (file=0x7ffd6cf49733 "/tmp/drkonqi.TTkFsq", file@entry=<error reading variable: value has been optimized out>, from_tty=<error reading variable: value has been optimized out>, search_path=<error reading variable: value has been optimized out>) at ../../gdb/cli/cli-cmds.c:775 #35 0x00005602a740d90a in catch_command_errors (command=<optimized out>, arg=<optimized out>, from_tty=<optimized out>, do_bp_actions=do_bp_actions@entry=false) at ../../gdb/main.c:513 #36 0x00005602a740d9b8 in execute_cmdargs (cmdarg_vec=cmdarg_vec@entry=0x7ffd6cf48a90, file_type=file_type@entry=CMDARG_FILE, cmd_type=cmd_type@entry=CMDARG_COMMAND, ret=ret@entry=0x7ffd6cf48a84) at ../../gdb/main.c:609 #37 0x00005602a740fe49 in captured_main_1 (context=context@entry=0x7ffd6cf48c90) at ../../gdb/main.c:1293 #38 0x00005602a7410870 in captured_main (data=0x7ffd6cf48c90) at ../../gdb/main.c:1314 #39 gdb_main (args=args@entry=0x7ffd6cf48cd0) at ../../gdb/main.c:1343 #40 0x00005602a70e0bb0 in main (argc=11, argv=0x7ffd6cf48e28) at ../../gdb/gdb.c:47 /usr/lib/systemd/user/plasma-plasmashell.service had TimeoutSec=40sec. So when drkonqi was still creating the trace of plasmashell 40 s after plasmashell crashed, systemd aborted plasma-plasmashell.service's processes plasmashell, drkonqi, kioslave5, gdb. Fedora processes use the drop-in configuration file /usr/lib/systemd/user/service.d/10-timeout-abort.conf which had TimeoutStopFailureMode=abort which makes processes abort when timing out to generated core dumps https://fedoraproject.org/wiki/Changes/Shorter_Shutdown_Timer I changed the timeout to TimeoutSec=120sec, logged out and logged in. I reproduced the plasmashell crash, and the trace completed after about 40 s. drkonqi, plasmashell, and kioslave5 were aborted after 120 s. The default timeout of 40 s for plasma-plasmashell.service wasn't long enough to trace plasmashell and report the crash. This problem still happens with 5.27.10. I'm reassigning this report to plasmashell because /usr/lib/systemd/user/plasma-plasmashell.service had TimeoutSec=40sec. When drkonqi was still creating the trace of plasmashell with gdb 40 s after plasmashell crashed, systemd aborted plasma-plasmashell.service's processes plasmashell, drkonqi, kioslave5, and gdb. Those processes were aborted because Fedora services use the drop-in configuration file /usr/lib/systemd/user/service.d/10-timeout-abort.conf which had TimeoutStopFailureMode=abort. The default timeout of 40 s for plasma-plasmashell.service wasn't long enough for drkonqi and gdb to trace plasmashell when qt5 debuginfo packages were installed and report the crash. The tracing didn't take as long when qt5 debuginfo packages weren't installed, but there still wouldn't be enough time to report crashes in 40 s. The crashes' core dumps weren't saved for viewing with coredumpctl so the crashes' information was lost. Thanks. Hi, has this issue appeared on Fedora 40 KDE? If so, can you make sure that you have debug symbols installed and send a backtrace with them included? https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Backtraces Thanks! (In reply to Akseli Lahtinen from comment #9) > Hi, has this issue appeared on Fedora 40 KDE? > > If so, can you make sure that you have debug symbols installed and send a > backtrace with them included? > https://community.kde.org/Guidelines_and_HOWTOs/Debugging/ > How_to_create_useful_crash_reports#Backtraces > > Thanks! I haven't seen this problem with 6.0.0-6.0.90 in Fedora 40 and Rawhide in which I think drkonqi used the core dumps created by systemd-coredump instead of attaching gdb directly to the crashed plasmashell processes. I don't think this problem would happen with 6.0 and higher because the 40 s timeout before the plasmashell.service is killed by systemd isn't a factor any longer. The 5.27 branch might still be affected, but I haven't used it in a few months. |