https://bugs.kde.org/show_bug.cgi?id=524522
--- Comment #21 from Gregor Geßner <[email protected]> --- (In reply to michaelk83 from comment #19) > What I'm less clear about is why these reports started only recently, with > 6.29. It might just be a coincidental external change, but this part of > comment 4 suggests it may be something that was recently changed in the PAM > instance initialization: > > > The crash is deterministic and reproducible, but only in the first > > instance of ksecretd started by SDDM with --pam-login. After the > > crash, when ksecretd is automatically restarted (without --pam-login), > > the crash never reproduces again for the rest of the session, > > regardless of how many times the same secret is requested. Yes, I also found it unsatisfying not to be able to figure out what exactly causes the issue to occur after the recent KDE release. I have fairly limited experience developing/debugging kde. I wasn't able to debug the autostarted daemon early enough to get a clear insight into the initialization process (there are definitely ways to do this, I just didn't figure out how) If somebody wants to investigate further: the cleanest repro steps I have on a clean os install: * Install latest cachyos/arch in a VM (I used cachyos because I had that image available, but from the reports arch should work just as well). Of course use KDE/Wayland and not some other DM. * setup user using password login and disable autologin making sure kwallet-pam is active * install all updates and setup debug environment (sources, gdb config etc.) * reboot * after login open kdewalletmanager (wallet should be completely empty) * create new folder, create new password in the folder -> crash with trace: #0 EVP_CIPHER_CTX_set_key_length () at crypto/evp/evp_enc.c:1370 #1 0x00007fb656edecfb in opensslQCAPlugin::opensslCipherContext::setup (this=0x55b23339b050, dir=<optimized out>, key=..., iv=..., tag=...) at /usr/src/debug/qca/qca-2.3.10/plugins/qca-ossl/qca-ossl.cpp:6321 #2 0x00007fb667524fca in QCA::Cipher::setup (this=this@entry=0x7ffc68921110, dir=dir@entry=QCA::Decode, key=..., iv=...) at /usr/src/debug/qca/qca-2.3.10/src/qca_basic.cpp:400 #3 0x00007fb667525314 in QCA::Cipher::Cipher (this=<optimized out>, type=..., mode=<optimized out>, pad=<optimized out>, dir=<optimized out>, key=..., iv=..., provider=..., this=<optimized out>, type=..., mode=<optimized out>, pad=<optimized out>, dir=<optimized out>, key=..., iv=..., provider=...) at /usr/src/debug/qca/qca-2.3.10/src/qca_basic.cpp:281 #4 0x000055b223097d25 in KWalletFreedesktopSessionAlgorithmDhAes::decrypt () at /usr/src/debug/kwallet/kwallet-6.29.0/src/runtime/ksecretd/kwalletfreedesktopsession.cpp:152 #5 0x000055b22309d244 in KWalletFreedesktopCollection::CreateItem () at /usr/src/debug/kwallet/kwallet-6.29.0/src/runtime/ksecretd/kwalletfreedesktopcollection.cpp:173 #6 0x000055b2230b24bf in KWalletFreedesktopCollectionAdaptor::CreateItem () at /usr/src/debug/kwallet/build/src/runtime/ksecretd/kwalletfreedesktopcollectionadaptor.cpp:75 #7 KWalletFreedesktopCollectionAdaptor::qt_static_metacall () at /usr/src/debug/kwallet/build/src/runtime/ksecretd/moc_kwalletfreedesktopcollectionadaptor.cpp:160 #8 0x000055b2230b2b8f in KWalletFreedesktopCollectionAdaptor::qt_metacall () at /usr/src/debug/kwallet/build/src/runtime/ksecretd/moc_kwalletfreedesktopcollectionadaptor.cpp:238 #9 0x00007fb6669ddae9 in QDBusConnectionPrivate::deliverCall (this=this@entry=0x7fb65c001680, object=object@entry=0x55b2332f1c70, msg=..., metaTypes=..., slotIdx=7) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusintegrator.cpp:1009 #10 0x00007fb6669dea4a in QDBusConnectionPrivate::activateCall (this=this@entry=0x7fb65c001680, object=<optimized out>, flags=flags@entry=..., msg=...) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusintegrator.cpp:911 #11 0x00007fb6669e482d in QDBusConnectionPrivate::activateObject (this=0x7fb65c001680, node=..., msg=..., pathStartPos=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusintegrator.cpp:1499 #12 0x00007fb6669e535a in QDBusActivateObjectEvent::placeMetaCall (this=0x7fb65c00c670) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusintegrator.cpp:1619 #13 0x00007fb6659e6b96 in QObject::event(QEvent*) () from /usr/lib/libQt6Core.so.6 #14 0x00007fb666d0325f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt6Widgets.so.6 #15 0x00007fb6659822b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt6Core.so.6 #16 0x00007fb6659826c1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt6Core.so.6 #17 0x00007fb665c9a4b8 in ?? () from /usr/lib/libQt6Core.so.6 #18 0x00007fb664a5caf5 in g_main_dispatch (context=0x7fb65c000f00) at ../glib/glib/gmain.c:3591 #19 0x00007fb664a5e008 in g_main_context_dispatch_unlocked (context=0x7fb65c000f00) at ../glib/glib/gmain.c:4451 #20 g_main_context_iterate_unlocked (context=context@entry=0x7fb65c000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4516 #21 0x00007fb664a5e152 in g_main_context_iteration (context=0x7fb65c000f00, may_block=1) at ../glib/glib/gmain.c:4582 #22 0x00007fb665c96f32 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6 #23 0x00007fb66598f664 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt6Core.so.6 #24 0x00007fb66598685a in QCoreApplication::exec() () from /usr/lib/libQt6Core.so.6 #25 0x000055b22305d874 in main () at /usr/src/debug/kwallet/kwallet-6.29.0/src/runtime/ksecretd/main.cpp:211 (it is a slightly different path, than the other reports but the end result from an incorrect initialization of the context seems to be the same.) * to reset the test: restore snapshot or remove the wallet and reboot. After removing the wallet and rebooting the issue can be reproduced. -- You are receiving this mail because: You are watching all bug changes.
