Summary: | When KWalletManager5's window is closed, passing a wallet name via the CLI causes a segmentation fault. | ||
---|---|---|---|
Product: | [Applications] kwalletmanager | Reporter: | Roke Julian Lockhart Beedell <4wy78uwh> |
Component: | general | Assignee: | Valentin Rusu <valir> |
Status: | CONFIRMED --- | ||
Severity: | crash | CC: | auxsvr, kde, kdedev, mk.mateng, nate |
Priority: | NOR | Keywords: | drkonqi |
Version First Reported In: | 25.04.1 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
See Also: | https://bugzilla.redhat.com/show_bug.cgi?id=2369621 | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/190906/events/352e64a4014f48ef8a2b668cf69e03c4/ |
Description
Roke Julian Lockhart Beedell
2025-06-01 10:49:47 UTC
I'm able to reproduce on git-master. kwalletmanager5 doesn't crash if passing the name of a wallet that doesn't exist. It crashes when passing the name of the wallet that's open Thread 1 (Thread 0x7fb71d76aa40 (LWP 2947)): [KCrash Handler] #6 WalletControlWidget::openWallet (this=0x0) at /home/build/YPKG/root/kwalletmanager/build/kwalletmanager-25.04.1/src/manager/walletcontrolwidget.cpp:32 #7 KWalletManagerWidgetItem::openWallet (this=0x7fb710017120) at /home/build/YPKG/root/kwalletmanager/build/kwalletmanager-25.04.1/src/manager/kwalletmanagerwidgetitem.cpp:33 #8 KWalletManagerWidget::openWallet (this=<optimized out>, name=...) at /home/build/YPKG/root/kwalletmanager/build/kwalletmanager-25.04.1/src/manager/kwalletmanagerwidget.cpp:98 #9 0x00005556fd1b913c in KWalletManager::openWallet (this=0x7fb710007b30, walletName=...) at /home/build/YPKG/root/kwalletmanager/build/kwalletmanager-25.04.1/src/manager/kwalletmanager.cpp:392 #10 KWalletManager::processParsedCommandLine (this=0x7fb710007b30) at /home/build/YPKG/root/kwalletmanager/build/kwalletmanager-25.04.1/src/manager/kwalletmanager.cpp:519 #11 0x00007fb72373e354 in QtPrivate::QSlotObjectBase::call (this=0x555710866dd0, r=0x7fb710007b30, a=0x7fff5dee3890) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobjectdefs_impl.h:486 #12 doActivate<false> (sender=0x7fff5dee4480, signal_index=3, argv=0x7fff5dee3890) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject.cpp:4123 #13 0x00007fb725784cb1 in ?? () from /usr/lib/libKF6DBusAddons.so.6 #14 0x00007fb724f0722e in QDBusConnectionPrivate::deliverCall (this=0x7fb710001670, object=0x55571081dc60, msg=..., metaTypes=..., slotIdx=4) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/dbus/qdbusintegrator.cpp:1008 #15 0x00007fb724f07df0 in QDBusConnectionPrivate::activateCall (this=0x7fb710001670, object=0x55571081dc60, flags=..., msg=...) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/dbus/qdbusintegrator.cpp:917 #16 0x00007fb724f119f8 in QDBusConnectionPrivate::activateObject (this=0x7fb710001670, node=..., msg=..., pathStartPos=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/dbus/qdbusintegrator.cpp:1509 #17 0x00007fb724f11c57 in QDBusActivateObjectEvent::placeMetaCall (this=0x7fb710019300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/dbus/qdbusintegrator.cpp:1605 #18 0x00007fb723733d0a in QObject::event (this=0x7fff5dee4480, e=0x7fb710019300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qobject.cpp:1418 #19 0x00007fb72484d310 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7fff5dee4480, e=0x7fb710019300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/widgets/kernel/qapplication.cpp:3296 #20 0x00007fb72484e553 in QApplication::notify (this=<optimized out>, receiver=0x7fff5dee4480, e=0x7fb710019300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/widgets/kernel/qapplication.cpp:2689 #21 0x00007fb7236dc27f in QCoreApplication::notifyInternal2 (receiver=0x7fff5dee4480, event=0x7fb710019300) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qcoreapplication.cpp:1177 #22 0x00007fb7236dd593 in QCoreApplication::sendEvent (receiver=0x7fff5dee4480, event=<optimized out>) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qcoreapplication.cpp:1617 #23 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55571074a360) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qcoreapplication.cpp:1951 #24 0x00007fb7239eadfb in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qcoreapplication.cpp:1805 #25 postEventSourceDispatch (s=0x5557107ad870) at /home/build/YPKG/root/qt6-base/build/qtbase-everywhere-src-6.8.3/src/corelib/kernel/qeventdispatcher_glib.cpp:246 #26 0x00007fb7223953a3 in ?? () #27 0x0000000010000f00 in ?? () #28 0x0000000000000000 in ?? () I don't understand how this code could have ever worked. Creating the UI is deferred for some reason, and then we immediately process the command line in a way that requires the UI. |