| Summary: | Kded6 writes SIGABRT corefile after ksecretd crashes | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] frameworks-kded | Reporter: | Christian Hacker <sw4> |
| Component: | general | Assignee: | KIO Bugs <kio-bugs-null> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | crash | CC: | kdedev, kdelibs-bugs-null, mk.mateng |
| Priority: | NOR | ||
| Version First Reported In: | 6.21.0 | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| See Also: |
https://bugs.kde.org/show_bug.cgi?id=514443 https://bugs.kde.org/show_bug.cgi?id=514326 |
||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: |
journald log kded6 SIGABRT corefile messages
journald log drkonqi SIGABRT corefile messages |
||
|
Description
Christian Hacker
2026-01-13 01:13:20 UTC
Created attachment 188463 [details]
journald log drkonqi SIGABRT corefile messages
I'm not really familiar with the details of DrKonqi, kded, kwin/x11/wayland, or Qt internals, but to the best of my understanding: - As I noted in the other issues, the failure in DrKonqi and kded is the same. - Specifically, it happens in a core component of Qt (`QApplication`), because (as you noted) a display is not available. - For this particular Qt component, this is probably "as designed": it's not intended to be used outside of a GUI context. - When logged out (or at some stages of logging out/in), a display is not available because it likely requires a fully initialized user session. Not logged in => no session => therefore, no display. This should also be "as designed". - When the screen is simply locked, this isn't related to "a security issue in connection with ksecretd", as ksecretd is not responsible for anything of that sort. It's simply a daemon for storing app secrets, nothing more. - But as I understood, this may be related to other security considerations of the _display server_ (access to the display is restricted when locked), or just simple practical considerations (how the lock screen is handled). - Rewriting kded or DrKonqi to not use `QApplication`, or to use some other component when outside of a GUI session, is likely a monumental task that's not worth the developers' effort. So I expect this will be a "won't fix". Note also that this is a) an edge case that shouldn't happen under most circumstances. As in: you're not supposed to have things crashing outside of an active session, and you're normally not supposed to start GUI processes when the session is locked (or is still initializing or tearing down). And b) this would behave the same for any such crash - it just happened to be ksecretd in your case. Relevant stack trace of kded
chris@suse8:~/tmp
$> coredumpctl gdb 47957
PID: 47957 (kded6)
UID: 1000 (chris)
GID: 1000 (chris)
Signal: 6 (ABRT)
Timestamp: Wed 2026-01-07 23:12:10 CET (14h ago)
Command Line: /usr/bin/kded6
Executable: /usr/bin/kded6
Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-dbus\x2d:1.2\x2dorg.kde.kded6.slice/dbus-:1.2-org.kde.kded6@0.service
Unit: user@1000.service
User Unit: dbus-:1.2-org.kde.kded6@0.service
Slice: user-1000.slice
Owner UID: 1000 (chris)
Boot ID: 56ddd1fa6a624132afefb31b39ed3236
Machine ID: 94748eecccdc4f4c81116037d6f099ea
Hostname: suse8
Storage: /var/lib/systemd/coredump/core.kded6.1000.56ddd1fa6a624132afefb31b39ed3236.47957.1767823930000000.zst (present)
Size on Disk: 493.8K
Message: Process 47957 (kded6) of user 1000 dumped core.
Stack trace of thread 47957:
#0 0x00007ff7f5c9dd3c __pthread_kill_implementation (libc.so.6 + 0x9dd3c)
#1 0x00007ff7f5c427b6 raise (libc.so.6 + 0x427b6)
#2 0x00007ff7f5c2934b abort (libc.so.6 + 0x2934b)
#3 0x00007ff7f64f668b n/a (libQt6Core.so.6 + 0xf668b)
#4 0x00007ff7f64f722f _ZNK14QMessageLogger5fatalEPKcz (libQt6Core.so.6 + 0xf722f)
#5 0x00007ff7f6d7f146 n/a (libQt6Gui.so.6 + 0x17f146)
#6 0x00007ff7f6e2d1b8 _ZN22QGuiApplicationPrivate21createEventDispatcherEv (libQt6Gui.so.6 + 0x22d1b8)
#7 0x00007ff7f65d4f9d _ZN23QCoreApplicationPrivate4initEv (libQt6Core.so.6 + 0x1d4f9d)
#8 0x00007ff7f6e2d25e _ZN22QGuiApplicationPrivate4initEv (libQt6Gui.so.6 + 0x22d25e)
#9 0x00007ff7f79e0f7d _ZN19QApplicationPrivate4initEv (libQt6Widgets.so.6 + 0x1e0f7d)
#10 0x0000562ca3a06ced main (/usr/bin/kded6 + 0x6ced)
#11 0x00007ff7f5c2b2fb __libc_start_call_main (libc.so.6 + 0x2b2fb)
#12 0x00007ff7f5c2b3cb __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2b3cb)
#13 0x0000562ca3a07635 _start (/usr/bin/kded6 + 0x7635)
ELF object binary architecture: AMD x86-64
GNU gdb (GDB; openSUSE Tumbleweed) 16.3
This GDB was configured as "x86_64-suse-linux".
Reading symbols from /usr/bin/kded6...
Reading symbols from /usr/lib/debug/usr/bin/kded6.debug...
[New LWP 47957]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/kded6'.
Program terminated with signal SIGABRT, Aborted.
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
(gdb) bt
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0)
at pthread_kill.c:44
#1 0x00007ff7f5c9de33 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:89
#2 0x00007ff7f5c427b6 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x00007ff7f5c2934b in __GI_abort () at abort.c:77
#4 0x00007ff7f64f668b in qAbort ()
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qassert.cpp:46
#5 qt_maybe_message_fatal<QString&> (msgType=QtFatalMsg, context=..., message=...)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qlogging.cpp:2166
#6 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (
msgType=msgType@entry=QtFatalMsg, context=..., msg=msg@entry=0x7ff7f7408d1c "%s",
ap=ap@entry=0x7ffc7ce417a8)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qlogging.cpp:412
#7 0x00007ff7f64f722f in QMessageLogger::fatal (this=this@entry=0x7ffc7ce41cd0,
msg=msg@entry=0x7ff7f7408d1c "%s")
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/global/qlogging.cpp:901
#8 0x00007ff7f6d7f146 in init_platform (pluginNamesWithArguments=..., platformPluginPath=...,
platformThemeName=..., argc=@0x7ffc7ce420ac: 1, argv=<optimized out>)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1344
#9 QGuiApplicationPrivate::createPlatformIntegration (this=0x562ce1cc5310)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1590
#10 0x00007ff7f6e2d1b8 in QGuiApplicationPrivate::createEventDispatcher (this=<optimized out>)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1608
#11 0x00007ff7f65d4f9d in QCoreApplicationPrivate::init (this=this@entry=0x562ce1cc5310)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/corelib/kernel/qcoreapplication.cpp:865
#12 0x00007ff7f6e2d25e in QGuiApplicationPrivate::init (this=this@entry=0x562ce1cc5310)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/gui/kernel/qguiapplication.cpp:1636
#13 0x00007ff7f79e0f7d in QApplicationPrivate::init (this=0x562ce1cc5310)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:476
#14 0x00007ff7f79e108c in QApplication::QApplication (this=<optimized out>, argc=<optimized out>,
argv=<optimized out>, this=<optimized out>, argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/qtbase-everywhere-src-6.10.1/src/widgets/kernel/qapplication.cpp:464
#15 0x0000562ca3a06ced in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/debug/kded-6.21.0/src/kded.cpp:564
(gdb) q
Based on the stack trace for kded this is the same crash as bug 488297, so I'll merge this in with that report. *** This bug has been marked as a duplicate of bug 488297 *** |