Bug 508726 - KSMServer crashed in KSMServer::completeShutdownOrCheckpoint() when running multiple logout commands consecutively when logout was blocked by an active tab in Konsole
Summary: KSMServer crashed in KSMServer::completeShutdownOrCheckpoint() when running m...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Session Management (other bugs)
Version First Reported In: 6.4.4
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2025-08-25 17:17 UTC by Roke Julian Lockhart Beedell
Modified: 2025-09-26 00:01 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.5.0
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/240949/events/fdf19f66fae64c7191e7cf4a1ab2fb37/


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roke Julian Lockhart Beedell 2025-08-25 17:17:46 UTC
Application: ksmserver (6.4.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.1
Frameworks Version: 6.17.0
Operating System: Linux 6.15.10-200.fc42.x86_64 x86_64
Windowing System: X11
Distribution: "Fedora Linux 42 (KDE Plasma Desktop Edition)"
DrKonqi: 6.4.4 [CoredumpBackend]

-- Information about the crash:
Per https://bugzilla.redhat.com/show_bug.cgi?id=2390829, "Occurred when I ran the logout QDbus command."

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: ksmserver (ksmserver), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
Downloading 3.89 M separate debug info for /usr/bin/ksmserver...

warning: Can't open file /memfd:pulseaudio (deleted) during file-backed mapping note processing
[New LWP 6041]
[New LWP 6107]
[New LWP 6109]
[New LWP 6062]
[New LWP 13681]
[New LWP 6108]
[New LWP 6111]
[New LWP 6112]
[New LWP 6113]
[New LWP 6061]
[New LWP 6110]
Downloading 5.78 M separate debug info for /lib64/libKScreenLocker.so.6...
Downloading 2.13 M separate debug info for /home/RokeJulianLockhart/.cache/debuginfod_client/4a4f5fd0ff3e8eea7cb8d598273e74ca4df1e93f/debuginfo...
Downloading 291.33 K separate debug info for /usr/lib64/qt6/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so...
Downloading 1.27 M separate debug info for /usr/lib64/qt6/plugins/xcbglintegrations/libqxcb-glx-integration.so...
Downloading 311.80 K separate debug info for /lib64/libxcb-glx.so.0...
Downloading 1.60 M separate debug info for /lib64/libGLX_mesa.so.0...
Downloading 78.66 K separate debug info for /lib64/libXxf86vm.so.1...
Downloading 683.20 K separate debug info for /usr/lib64/qt6/plugins/kf6/kwindowsystem/KF6WindowSystemX11Plugin.so...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/ksmserver'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fe5d3833e00 (LWP 6041))]

Cannot QML trace cores :(
Downloading 6.69 K source file /usr/src/debug/plasma-workspace-6.4.4-1.fc42.x86_64/ksmserver/main.cpp...
Downloading source file /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qsingleshottimer.cpp...
Downloading source file /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qsingleshottimer_p.cpp...
Downloading 14.84 K source file /usr/src/debug/plasma-workspace-6.4.4-1.fc42.x86_64/ksmserver/logout.cpp...
Downloading source file /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/plugins/platforms/xcb/qxcbeventqueue.cpp...
Downloading 31.03 K source file /usr/src/debug/libxcb-1.17.0-5.fc42.x86_64/src/xcb_in.c...
Downloading 15.29 K source file /usr/src/debug/libxcb-1.17.0-5.fc42.x86_64/src/xcb_conn.c...
[Current thread is 1 (Thread 0x7fe5d3833e00 (LWP 6041))]

Thread 11 (Thread 0x7fe5bd3fc6c0 (LWP 6110)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a1a4d4c, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a1a4d4c, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a1a4d4c, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a1a4d28, mutex=0x55885a1a4cf8, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a1a4d28, mutex=0x55885a1a4cf8) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a21ad40) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 10 (Thread 0x7fe5c57ff6c0 (LWP 6061)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=8, a6=a6@entry=0, nr=271) at cancellation.c:49
#2  0x00007fe5d967c9a4 in __syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=8, a6=a6@entry=0, nr=271) at cancellation.c:75
#3  0x00007fe5d96f6136 in __GI_ppoll (fds=fds@entry=0x558859fd75b0, nfds=nfds@entry=3, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:42
#4  0x00007fe5d9006890 in ppoll (__fds=0x558859fd75b0, __nfds=3, __timeout=0x0, __ss=0x0) at /usr/include/bits/poll2.h:101
#5  g_main_context_poll_unlocked (priority=<optimized out>, context=0x7fe5c0000c80, timeout_usec=<optimized out>, fds=0x558859fd75b0, n_fds=3) at ../glib/gmain.c:4632
#6  g_main_context_iterate_unlocked (context=context@entry=0x7fe5c0000c80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4309
#7  0x00007fe5d9006953 in g_main_context_iteration (context=0x7fe5c0000c80, may_block=1) at ../glib/gmain.c:4379
#8  0x00007fe5da00f9ad in QEventDispatcherGlib::processEvents (this=0x7fe5c0000b70, flags=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#9  0x00007fe5d9d07b03 in QEventLoop::exec (this=this@entry=0x7fe5c57fe6f0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77
#10 0x00007fe5d9e2808d in QThread::exec (this=this@entry=0x7fe5da3fecc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread.cpp:659
#11 0x00007fe5da34c821 in QDBusConnectionManager::run (this=0x7fe5da3fecc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/dbus/qdbusconnectionmanager.cpp:144
#12 0x00007fe5d9ec5b9f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:434
#13 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:366
#14 QThreadPrivate::start (arg=0x7fe5da3fecc0 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:394
#15 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#16 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 9 (Thread 0x7fe59effd6c0 (LWP 6113)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a2c0d78, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a2c0d78, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a2c0d78, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a2c0d58, mutex=0x55885a2c0d28, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a2c0d58, mutex=0x55885a2c0d28) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a2f6500) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 8 (Thread 0x7fe59f7fe6c0 (LWP 6112)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a27c548, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a27c548, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a27c548, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a27c528, mutex=0x55885a27c4f8, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a27c528, mutex=0x55885a27c4f8) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a2b1940) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 7 (Thread 0x7fe59ffff6c0 (LWP 6111)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a22b358, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a22b358, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a22b358, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a22b338, mutex=0x55885a22b308, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a22b338, mutex=0x55885a22b308) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a26d230) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 6 (Thread 0x7fe5be3fe6c0 (LWP 6108)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a2195e0, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a2195e0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a2195e0, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a2195c0, mutex=0x55885a219590, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a2195c0, mutex=0x55885a219590) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a1da000) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 5 (Thread 0x7fe59e7fc6c0 (LWP 13681)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=a1@entry=140623738859936, a2=a2@entry=2, a3=a3@entry=28678, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:49
#2  0x00007fe5d967c9a4 in __syscall_cancel (a1=a1@entry=140623738859936, a2=a2@entry=2, a3=a3@entry=28678, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:75
#3  0x00007fe5d96f5c0e in __GI___poll (fds=fds@entry=0x7fe5840071a0, nfds=nfds@entry=2, timeout=timeout@entry=28678) at ../sysdeps/unix/sysv/linux/poll.c:29
#4  0x00007fe5bc7d4507 in poll (__fds=0x7fe5840071a0, __nfds=2, __timeout=28678) at /usr/include/bits/poll2.h:44
#5  poll_func (ufds=0x7fe5840071a0, nfds=2, timeout=28678, userdata=0x55885a41c280) at ../src/pulse/thread-mainloop.c:70
#6  0x00007fe5bc7bd872 in pa_mainloop_poll (m=m@entry=0x55885a40e250) at ../src/pulse/mainloop.c:863
#7  0x00007fe5bc7c8291 in pa_mainloop_iterate (m=m@entry=0x55885a40e250, block=block@entry=1, retval=retval@entry=0x0) at ../src/pulse/mainloop.c:945
#8  0x00007fe5bc7c8360 in pa_mainloop_run (m=0x55885a40e250, retval=0x0) at ../src/pulse/mainloop.c:963
#9  0x00007fe5bc7d958d in thread (userdata=0x55885a41c230) at ../src/pulse/thread-mainloop.c:101
#10 0x00007fe5bc3df12b in internal_thread_func (userdata=0x55885a187040) at ../src/pulsecore/thread-posix.c:81
#11 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#12 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 4 (Thread 0x7fe5c4ffe6c0 (LWP 6062)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=a1@entry=140624829339192, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:49
#2  0x00007fe5d967c9a4 in __syscall_cancel (a1=a1@entry=140624829339192, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:75
#3  0x00007fe5d96f5c0e in __GI___poll (fds=fds@entry=0x7fe5c4ffd638, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#4  0x00007fe5dae72646 in poll (__fds=0x7fe5c4ffd638, __nfds=1, __timeout=-1) at /usr/include/bits/poll2.h:44
#5  _xcb_conn_wait (c=c@entry=0x558859fe09c0, vector=vector@entry=0x0, count=count@entry=0x0, cond=<optimized out>) at /usr/src/debug/libxcb-1.17.0-5.fc42.x86_64/src/xcb_conn.c:510
#6  0x00007fe5dae7421c in _xcb_conn_wait (c=0x558859fe09c0, cond=0x558859fe0a00, vector=0x0, count=0x0) at /usr/src/debug/libxcb-1.17.0-5.fc42.x86_64/src/xcb_conn.c:476
#7  xcb_wait_for_event (c=0x558859fe09c0) at /usr/src/debug/libxcb-1.17.0-5.fc42.x86_64/src/xcb_in.c:703
#8  0x00007fe5d377ee88 in QXcbEventQueue::run (this=0x558859fdbd10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/plugins/platforms/xcb/qxcbeventqueue.cpp:192
#9  0x00007fe5d9ec5b9f in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:434
#10 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:366
#11 QThreadPrivate::start (arg=0x558859fdbd10) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qthread_unix.cpp:394
#12 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#13 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 3 (Thread 0x7fe5bdbfd6c0 (LWP 6109)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a1a4b98, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a1a4b98, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a1a4b98, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a1a4b78, mutex=0x55885a1a4b48, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a1a4b78, mutex=0x55885a1a4b48) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a2118c0) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 2 (Thread 0x7fe5bebff6c0 (LWP 6107)):
#0  __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56
#1  0x00007fe5d967c95a in __internal_syscall_cancel (a1=<optimized out>, a2=<optimized out>, a3=<optimized out>, a4=<optimized out>, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49
#2  0x00007fe5d967cfcc in __futex_abstimed_wait_common64 (private=0, futex_word=0x55885a1a3704, expected=<optimized out>, op=<optimized out>, abstime=0x0, cancel=true) at futex-internal.c:57
#3  __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55885a1a3704, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#4  0x00007fe5d967d02f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55885a1a3704, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#5  0x00007fe5d967f69e in __pthread_cond_wait_common (cond=0x55885a1a36e0, mutex=0x55885a1a36b0, clockid=0, abstime=0x0) at pthread_cond_wait.c:426
#6  ___pthread_cond_wait (cond=0x55885a1a36e0, mutex=0x55885a1a36b0) at pthread_cond_wait.c:458
#7  0x00007fe5b554905d in cnd_wait (cond=<optimized out>, mtx=<optimized out>) at ../src/c11/impl/threads_posix.c:111
#8  0x00007fe5b5502ffc in util_queue_thread_func (input=input@entry=0x55885a1a16f0) at ../src/util/u_queue.c:275
#9  0x00007fe5b5548f8c in impl_thrd_routine (p=<optimized out>) at ../src/c11/impl/threads_posix.c:43
#10 0x00007fe5d9680154 in start_thread (arg=<optimized out>) at pthread_create.c:448
#11 0x00007fe5d9702cac in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

Thread 1 (Thread 0x7fe5d3833e00 (LWP 6041)):
[KCrash Handler]
#5  std::__atomic_base<QThreadData*>::load (this=0x9a060a260cde3f69, __m=std::memory_order_acquire) at /usr/include/c++/15/bits/atomic_base.h:828
#6  std::atomic<QThreadData*>::load (this=0x9a060a260cde3f69, __m=std::memory_order_acquire) at /usr/include/c++/15/atomic:587
#7  QAtomicOps<QThreadData*>::loadAcquire<QThreadData*> (_q_value=<error reading variable: Cannot access memory at address 0x9a060a260cde3f69>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qatomic_cxx11.h:214
#8  QBasicAtomicPointer<QThreadData>::loadAcquire (this=0x9a060a260cde3f69) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/thread/qbasicatomic.h:177
#9  QCoreApplicationPrivate::lockThreadPostEventList (object=object@entry=0x55885a017f40) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1580
#10 0x00007fe5d9d52ff3 in QObject::deleteLater (this=0x55885a017f40) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:2457
#11 0x000055883e141bc5 in operator() (__closure=0x55885a4131b0) at /usr/src/debug/plasma-workspace-6.4.4-1.fc42.x86_64/ksmserver/logout.cpp:383
#12 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:116
#13 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KSMServer::completeShutdownOrCheckpoint()::<lambda()> >::call(KSMServer::completeShutdownOrCheckpoint()::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#14 QtPrivate::FunctorCall<std::integer_sequence<long unsigned int>, QtPrivate::List<>, void, KSMServer::completeShutdownOrCheckpoint()::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:115
#15 QtPrivate::FunctorCallable<KSMServer::completeShutdownOrCheckpoint()::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:337
#16 QtPrivate::QCallableObject<KSMServer::completeShutdownOrCheckpoint()::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55885a4131a0, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:547
#17 0x00007fe5d9d657ba in QtPrivate::QSlotObjectBase::call (this=0x55885a4131a0, r=0x55885a0873b0, a=0x7fff0859ebc8) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobjectdefs_impl.h:461
#18 doActivate<false> (sender=0x55885a0107b0, signal_index=3, argv=0x7fff0859ebc8, argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4146
#19 0x00007fe5d9d5c089 in QMetaObject::activate (sender=sender@entry=0x55885a0107b0, m=m@entry=0x7fe5da2a3de0 <QSingleShotTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:4206
#20 0x00007fe5d9d73df4 in QSingleShotTimer::timeout (this=0x55885a0107b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qsingleshottimer_p.cpp:116
#21 QSingleShotTimer::timerFinished (this=0x55885a0107b0) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qsingleshottimer.cpp:62
#22 QSingleShotTimer::timerEvent (this=0x55885a0107b0, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qsingleshottimer.cpp:84
#23 0x00007fe5d9d565b5 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qobject.cpp:1461
#24 0x00007fe5d9cf9f38 in QCoreApplication::notifyInternal2 (receiver=0x55885a0107b0, event=0x7fff0859ed90) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1106
#25 0x00007fe5d9cfa19d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1546
#26 0x00007fe5d9ec4238 in QTimerInfoList::activateTimers (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qtimerinfo_unix.cpp:426
#27 0x00007fe5da00f6b9 in timerSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:152
#28 0x00007fe5d8ffd863 in g_main_dispatch (context=0x7fe5c0000f00) at ../glib/gmain.c:3398
#29 g_main_context_dispatch_unlocked (context=0x7fe5c0000f00) at ../glib/gmain.c:4249
#30 0x00007fe5d90067a8 in g_main_context_iterate_unlocked (context=context@entry=0x7fe5c0000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4314
#31 0x00007fe5d9006953 in g_main_context_iteration (context=0x7fe5c0000f00, may_block=1) at ../glib/gmain.c:4379
#32 0x00007fe5da00f9ad in QEventDispatcherGlib::processEvents (this=0x55885a11b240, flags=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:399
#33 0x00007fe5d9d07b03 in QEventLoop::exec (this=this@entry=0x7fff0859f040, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/global/qflags.h:77
#34 0x00007fe5d9d03419 in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/corelib/kernel/qcoreapplication.cpp:1449
#35 0x00007fe5da4ddbad in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.9.1-1.fc42.x86_64/src/gui/kernel/qguiapplication.cpp:1986
#36 0x000055883e12e88b in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.4.4-1.fc42.x86_64/ksmserver/main.cpp:206

Reported using DrKonqi
Comment 1 Roke Julian Lockhart Beedell 2025-08-25 17:25:19 UTC
(In reply to Roke Julian Lockhart Beedell from comment #0)

I've since updated the linked issue's description to be more... descriptive.
Comment 2 Bug Janitor Service 2025-09-23 22:08:50 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5838
Comment 3 Vlad Zahorodnii 2025-09-24 15:01:20 UTC
Git commit 3f2b85e73fa104798b333296f241f0a4aee3702d by Vlad Zahorodnii, on behalf of David Edmundson.
Committed on 24/09/2025 at 14:02.
Pushed by vladz into branch 'master'.

ksmserver: Fix memory management of notification

Cleanup of notifications happens automatically when they are closed.

There is a fallback timer here that uses the state to check if it should
perform additional cleanup.

This is not safe as if we ever had two notifications within 5 seconds we
could be in the state WaitingForKnotify but still have the first
notification active at this point.

We can let KNotification autodelete continue to take care of it.

M  +1    -2    ksmserver/logout.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/3f2b85e73fa104798b333296f241f0a4aee3702d
Comment 4 Vlad Zahorodnii 2025-09-25 07:52:44 UTC
Git commit badaa00c0ea513ef840bd7cabd9e62be8bdd3f00 by Vlad Zahorodnii.
Committed on 25/09/2025 at 06:18.
Pushed by vladz into branch 'Plasma/6.5'.

ksmserver: Fix memory management of notification

Cleanup of notifications happens automatically when they are closed.

There is a fallback timer here that uses the state to check if it should
perform additional cleanup.

This is not safe as if we ever had two notifications within 5 seconds we
could be in the state WaitingForKnotify but still have the first
notification active at this point.

We can let KNotification autodelete continue to take care of it.


(cherry picked from commit 3f2b85e73fa104798b333296f241f0a4aee3702d)

Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>

M  +1    -2    ksmserver/logout.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/badaa00c0ea513ef840bd7cabd9e62be8bdd3f00