Bug 507778

Summary: ksecretd crashes at Kmail access attempt
Product: [Applications] kwalletmanager Reporter: Christian Hacker <sw4>
Component: generalAssignee: Valentin Rusu <valir>
Status: RESOLVED DUPLICATE    
Severity: crash CC: mk.mateng
Priority: NOR    
Version First Reported In: 25.04.3   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Christian Hacker 2025-08-02 11:34:37 UTC
2025-08-02a
Core was generated by `/usr/bin/ksecretd'
Before this problem:
Installed all available software updates with zypper dup
openSUSE Tumbleweed 20250730

KDE Plasma Version: 6.4.3
KDE Frameworks Version: 6.16.0
Qt Version: 6.9.1
Kernel Version: 6.15.8-1-default (64-bit)
Graphics Platform: X11
Processors: 22 × Intel® Core™ Ultra 7 155H
Memory: 128 GiB of RAM (125.1 GiB usable)
Graphics Processor: Intel® Arc
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: NUC14RVH-B

Then:
Rebooted the host into Kde desktop.

Reproduce the coredump with:
Start Kde Kmail and attempt to synchronize emails from configured imap server accounts, using the Kde KWallet Manager.

Other information:
After locking the Kde Plasma desktop for a longer timespan, the Plasma desktop is unusable after re-login.
The complete display screen is black, with the exception of pre-existing Kde Konsole application windows.
The only possibility to continue working is to reboot the computer. The Kde Plasma desktop works as usual after the reboot.

## Coredump backtrace

chris@suse8:~/tmp
$> coredumpctl --reverse
TIME                           PID  UID  GID SIG     COREFILE EXE                                 SIZE
Fri 2025-08-01 21:44:33 CEST  2539 1000 1000 SIGSEGV present  /usr/bin/ksecretd                   4.3M
Fri 2025-08-01 21:44:33 CEST  2469 1000 1000 SIGSEGV present  /usr/bin/dolphin                    6.9M
Fri 2025-08-01 19:51:50 CEST  2645 1000 1000 SIGSEGV present  /usr/bin/ksecretd                   4.3M

Like
chris@suse8:~/tmp
$> coredumpctl gdb 2539
           PID: 2539 (ksecretd)
           UID: 1000 (chris)
           GID: 1000 (chris)
        Signal: 11 (SEGV)
     Timestamp: Fri 2025-08-01 21:44:33 CEST (12h ago)
  Command Line: /usr/bin/ksecretd
    Executable: /usr/bin/ksecretd
 Control Group: /user.slice/user-1000.slice/user@1000.service/app.slice/app-dbus\x2d:1.2\x2dorg.kde.secretservicecompat.slice/dbus-:1.2-org.kde.secretservicecompat@0.service
          Unit: user@1000.service
     User Unit: dbus-:1.2-org.kde.secretservicecompat@0.service
         Slice: user-1000.slice
     Owner UID: 1000 (chris)
       Boot ID: b00d06f12ee1443896d7c3f42812c642
    Machine ID: 644899759812494fa2bc51d654ea1e1a
      Hostname: suse8
       Storage: /var/lib/systemd/coredump/core.ksecretd.1000.b00d06f12ee1443896d7c3f42812c642.2539.1754077473000000.zst (present)
  Size on Disk: 4.3M
       Message: Process 2539 (ksecretd) of user 1000 dumped core.

                Stack trace of thread 2539:
                #0  0x00007f65ad89c5fc __pthread_kill_implementation (libc.so.6 + 0x9c5fc)
                #1  0x00007f65ad842106 raise (libc.so.6 + 0x42106)
                #2  0x00007f65b01db350 _ZN6KCrash19defaultCrashHandlerEi (libKF6Crash.so.6 + 0x8350)
                #3  0x00007f65ad842260 __restore_rt (libc.so.6 + 0x42260)
                #4  0x00007f65afd30313 n/a (libqca-qt6.so.2 + 0x7c313)
                #5  0x00007f65afd30872 _ZN3QCA12MemoryRegionD2Ev (libqca-qt6.so.2 + 0x7c872)
                #6  0x00005627a2822a48 n/a (/usr/bin/ksecretd + 0x4da48)
                #7  0x00005627a2822b35 n/a (/usr/bin/ksecretd + 0x4db35)
                #8  0x00005627a282010d n/a (/usr/bin/ksecretd + 0x4b10d)
                #9  0x00005627a2815b18 n/a (/usr/bin/ksecretd + 0x40b18)
                #10 0x00005627a280123b n/a (/usr/bin/ksecretd + 0x2c23b)
                #11 0x00005627a27faada n/a (/usr/bin/ksecretd + 0x25ada)
                #12 0x00007f65ad82b37b __libc_start_call_main (libc.so.6 + 0x2b37b)
                #13 0x00007f65ad82b44b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2b44b)
                #14 0x00005627a27fb4f5 n/a (/usr/bin/ksecretd + 0x264f5)

                Stack trace of thread 2575:
                #0  0x00007f65ad8a30b2 __syscall_cancel_arch (libc.so.6 + 0xa30b2)
                #1  0x00007f65ad8969e8 __internal_syscall_cancel (libc.so.6 + 0x969e8)
                #2  0x00007f65ad896a41 __syscall_cancel (libc.so.6 + 0x96a41)
                #3  0x00007f65ad911522 ppoll (libc.so.6 + 0x111522)
                #4  0x00007f65ad6baddf n/a (libglib-2.0.so.0 + 0x61ddf)
                #5  0x00007f65ad6bb52c g_main_context_iteration (libglib-2.0.so.0 + 0x6252c)
                #6  0x00007f65ae47f978 _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x47f978)
                #7  0x00007f65ae1d6003 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x1d6003)
                #8  0x00007f65ae2d3ecf _ZN7QThread4execEv (libQt6Core.so.6 + 0x2d3ecf)
                #9  0x00007f65af288ede n/a (libQt6DBus.so.6 + 0x43ede)
                #10 0x00007f65ae36611b operator() (libQt6Core.so.6 + 0x36611b)
                #11 0x00007f65ad89a7be start_thread (libc.so.6 + 0x9a7be)
                #12 0x00007f65ad91edcc __clone3 (libc.so.6 + 0x11edcc)

                Stack trace of thread 2633:
                #0  0x00007f65ad8a30b2 __syscall_cancel_arch (libc.so.6 + 0xa30b2)
                #1  0x00007f65ad8969e8 __internal_syscall_cancel (libc.so.6 + 0x969e8)
                #2  0x00007f65ad8971bc __futex_abstimed_wait_common (libc.so.6 + 0x971bc)
                #3  0x00007f65ad899d08 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x99d08)
                #4  0x00007f65a0fffc79 n/a (libgallium-25.1.6.so + 0x5ffc79)
                #5  0x00007f65a0fbac7c n/a (libgallium-25.1.6.so + 0x5bac7c)
                #6  0x00007f65a0fffbb7 n/a (libgallium-25.1.6.so + 0x5ffbb7)
                #7  0x00007f65ad89a7be start_thread (libc.so.6 + 0x9a7be)
                #8  0x00007f65ad91edcc __clone3 (libc.so.6 + 0x11edcc)

                Stack trace of thread 2579:
                #0  0x00007f65ad8a30b2 __syscall_cancel_arch (libc.so.6 + 0xa30b2)
                #1  0x00007f65ad8969e8 __internal_syscall_cancel (libc.so.6 + 0x969e8)
                #2  0x00007f65ad896a41 __syscall_cancel (libc.so.6 + 0x96a41)
                #3  0x00007f65ad910f9a __poll (libc.so.6 + 0x110f9a)
                #4  0x00007f65af189a62 n/a (libxcb.so.1 + 0xea62)
                #5  0x00007f65af18b4bc xcb_wait_for_event (libxcb.so.1 + 0x104bc)
                #6  0x00007f65ac18e9e8 n/a (libQt6XcbQpa.so.6 + 0x6c9e8)
                #7  0x00007f65ae36611b operator() (libQt6Core.so.6 + 0x36611b)
                #8  0x00007f65ad89a7be start_thread (libc.so.6 + 0x9a7be)
                #9  0x00007f65ad91edcc __clone3 (libc.so.6 + 0x11edcc)

                Stack trace of thread 2632:
                #0  0x00007f65ad8a30b2 __syscall_cancel_arch (libc.so.6 + 0xa30b2)
                #1  0x00007f65ad8969e8 __internal_syscall_cancel (libc.so.6 + 0x969e8)
                #2  0x00007f65ad8971bc __futex_abstimed_wait_common (libc.so.6 + 0x971bc)
                #3  0x00007f65ad899d08 pthread_cond_wait@@GLIBC_2.3.2 (libc.so.6 + 0x99d08)
                #4  0x00007f65a0fffc79 n/a (libgallium-25.1.6.so + 0x5ffc79)
                #5  0x00007f65a0fbac7c n/a (libgallium-25.1.6.so + 0x5bac7c)
                #6  0x00007f65a0fffbb7 n/a (libgallium-25.1.6.so + 0x5ffbb7)
                #7  0x00007f65ad89a7be start_thread (libc.so.6 + 0x9a7be)
                #8  0x00007f65ad91edcc __clone3 (libc.so.6 + 0x11edcc)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB; openSUSE Tumbleweed) 16.3
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-suse-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://bugs.opensuse.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...

Reading symbols from /usr/bin/ksecretd...
Reading symbols from /home/chris/.cache/debuginfod_client/639bf827133e259fafb8b47a9c7515b62de4e60f/debuginfo...

warning: Can't open file anon_inode:i915.gem during file-backed mapping note processing
[New LWP 2539]
[New LWP 2575]
[New LWP 2633]
[New LWP 2579]
[New LWP 2632]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/bin/ksecretd'.
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 0x7f65ac57c380 (LWP 2539))]
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0)
    at pthread_kill.c:44
#1  0x00007f65ad89c6f3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:89
#2  0x00007f65ad842106 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007f65b01db350 in KCrash::defaultCrashHandler (sig=11) at /usr/src/debug/kcrash-6.16.0/src/kcrash.cpp:605
#4  0x00007f65ad842260 in <signal handler called> () at /lib64/libc.so.6
#5  0x00007f65afd30313 in QCA::Botan::MemoryRegion<unsigned char>::deallocate
    (this=0x5627a2f5b5f0, p=0x5627a2f47f40 "\340ٖ\243'V", n=17)
    at /usr/src/debug/qca-2.3.10/src/botantools/botan/botan/secmem.h:188
#6  QCA::Botan::MemoryRegion<unsigned char>::~MemoryRegion (this=0x5627a2f5b5f0, this=<optimized out>)
    at /usr/src/debug/qca-2.3.10/src/botantools/botan/botan/secmem.h:157
#7  QCA::Botan::SecureVector<unsigned char>::~SecureVector (this=0x5627a2f5b5f0, this=<optimized out>)
    at /usr/src/debug/qca-2.3.10/src/botantools/botan/botan/secmem.h:299
#8  QCA::ai_delete (ai=<optimized out>) at /usr/src/debug/qca-2.3.10/src/qca_tools.cpp:335
#9  QCA::ai_delete (ai=<optimized out>) at /usr/src/debug/qca-2.3.10/src/qca_tools.cpp:331
#10 0x00007f65afd30872 in QCA::MemoryRegion::Private::~Private (this=0x5627a2f5b5b0, this=<optimized out>)
    at /usr/src/debug/qca-2.3.10/src/qca_tools.cpp:370
#11 QSharedDataPointer<QCA::MemoryRegion::Private>::~QSharedDataPointer (this=<optimized out>, this=<optimized out>)
    at /usr/include/qt6/QtCore/qshareddata.h:56
#12 QSharedDataPointer<QCA::MemoryRegion::Private>::~QSharedDataPointer (this=<optimized out>, this=<optimized out>)
    at /usr/include/qt6/QtCore/qshareddata.h:56
#13 QCA::MemoryRegion::~MemoryRegion (this=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qca-2.3.10/src/qca_tools.cpp:418
#14 0x00007f65afd30dc5 in QCA::SecureArray::~SecureArray (this=<optimized out>, this=<optimized out>)
    at /usr/src/debug/qca-2.3.10/src/qca_tools.cpp:597
#15 0x00005627a2822a48 in QCA::SymmetricKey::~SymmetricKey (this=<optimized out>, this=<optimized out>)
    at /usr/include/qt6/Qca-qt6/QtCrypto/qca_core.h:1263
#16 KWalletFreedesktopSessionAlgorithmDhAes::~KWalletFreedesktopSessionAlgorithmDhAes
    (this=0x5627a2f5af20, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopsession.h:74
#17 KWalletFreedesktopSessionAlgorithmDhAes::~KWalletFreedesktopSessionAlgorithmDhAes
    (this=0x5627a2f5af20, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopsession.h:74
#18 0x00005627a2822b35 in std::default_delete<KWalletFreedesktopSessionAlgorithm>::operator()
    (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:93
#19 std::unique_ptr<KWalletFreedesktopSessionAlgorithm, std::default_delete<KWalletFreedesktopSessionAlgorithm> >::~unique_ptr (this=0x5627a2d04970, this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:399
#20 KWalletFreedesktopSession::~KWalletFreedesktopSession (this=0x5627a2d04950, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopsession.h:29
#21 KWalletFreedesktopSession::~KWalletFreedesktopSession (this=0x5627a2d04950, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopsession.h:29
#22 0x00005627a282010d in std::default_delete<KWalletFreedesktopSession>::operator()
    (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:93
#23 std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> >::~unique_ptr
    (this=0x5627a2fc5118, this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:399
#24 std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >::~pair (this=0x5627a2fc5100, this=<optimized out>) at /usr/include/c++/15/bits/stl_pair.h:302
#25 std::destroy_at<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > (__location=0x5627a2fc5100) at /usr/include/c++/15/bits/stl_construct.h:88
#26 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > > >::destroy<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > (__a=<optimized out>, __p=0x5627a2fc5100)
    at /usr/include/c++/15/bits/alloc_traits.h:698
#27 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_destroy_node
    (this=<optimized out>, __p=0x5627a2fc50e0) at /usr/include/c++/15/bits/stl_tree.h:1265
#28 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_drop_node
    (this=<optimized out>, __p=0x5627a2fc50e0) at /usr/include/c++/15/bits/stl_tree.h:1273
#29 std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::_M_erase(std::_Rb_tree_node<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >*) [clone .isra.0]
    (__x=0x5627a2fc50e0, this=<optimized out>) at /usr/include/c++/15/bits/stl_tree.h:2590
#30 0x00005627a2815b18 in std::_Rb_tree<QString, std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > >, std::_Select1st<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::~_Rb_tree
    (this=0x5627a30095f8, this=<optimized out>) at /usr/include/c++/15/bits/stl_tree.h:1381
#31 std::map<QString, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> >, std::less<QString>, std::allocator<std::pair<QString const, std::unique_ptr<KWalletFreedesktopSession, std::default_delete<KWalletFreedesktopSession> > > > >::~map (this=0x5627a30095f8, this=<optimized out>) at /usr/include/c++/15/bits/stl_map.h:337
#32 KWalletFreedesktopService::~KWalletFreedesktopService (this=0x5627a30095e0, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182
#33 0x00005627a280123b in KWalletFreedesktopService::~KWalletFreedesktopService
    (this=0x5627a30095e0, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/kwalletfreedesktopservice.cpp:182
#34 std::default_delete<KWalletFreedesktopService>::operator() (this=<optimized out>, __ptr=0x5627a30095e0)
    at /usr/include/c++/15/bits/unique_ptr.h:93
#35 std::unique_ptr<KWalletFreedesktopService, std::default_delete<KWalletFreedesktopService> >::~unique_ptr
    (this=0x7ffef019c3d8, this=<optimized out>) at /usr/include/c++/15/bits/unique_ptr.h:399
#36 KSecretD::~KSecretD (this=0x7ffef019c310, this=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/ksecretd.cpp:177
#37 0x00005627a27faada in main (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kwallet-6.16.0/src/runtime/ksecretd/main.cpp:213
(gdb) q

Bye
Comment 1 michaelk83 2025-08-03 13:58:23 UTC

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