Bug 494659 - The plasmashell crashes in DeviceControl::onDeviceRemoved() after unplugging freshly formatted USB flash drive
Summary: The plasmashell crashes in DeviceControl::onDeviceRemoved() after unplugging ...
Status: REPORTED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.2.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
: 499382 509962 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-10-13 13:11 UTC by LocalT0aster
Modified: 2025-09-26 15:54 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (166.59 KB, text/plain)
2024-10-13 13:11 UTC, LocalT0aster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description LocalT0aster 2024-10-13 13:11:57 UTC
Application: plasmashell (6.2.0)

ApplicationNotResponding [ANR]: false
Qt Version: 6.7.2
Frameworks Version: 6.7.0
Operating System: Linux 6.10.12-200.fc40.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 40.20241012.0 (Kinoite)"
DrKonqi: 6.2.0 [CoredumpBackend]

-- Information about the crash:
Steps to reproduce:
1. Plug the usb flash formatted in exfat (GPT table)
2. format to btrfs using KDE Partition Manager (default partition settings)
3. Unplug the flash drive

Expected result:
Successfull unplug

Obtained result:
plasmashell segfaults

Unusual behaviour:
There was 3 instances of the same flash drive in the Disks & Devices menu at system tray.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=0x8) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/tools/qscopedpointer.h:110
[...]
#8  QObject::deleteLater (this=0x0) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:2462
#9  0x00007f482ff85d11 in DeviceControl::onDeviceRemoved (this=<optimized out>, udi=...) at /usr/src/debug/plasma-workspace-6.2.0-2.fc40.x86_64/applets/devicenotifier/plugin/devicecontrol.cpp:288
#10 0x00007f4899ffc8f2 in QtPrivate::QSlotObjectBase::call (this=0x5573a9a76b20, r=<optimized out>, a=0x7ffe36865550) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#11 doActivate<false> (sender=0x5573a8fae8c0, signal_index=4, argv=0x7ffe36865550) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086


Reported using DrKonqi
Comment 1 LocalT0aster 2024-10-13 13:11:58 UTC
Created attachment 174772 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2024-11-12 22:06:00 UTC
Searchable backtrace

Thread 1 (Thread 0x7f4893c14b00 (LWP 2132)):
[KCrash Handler]
#5  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::get (this=0x8) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/tools/qscopedpointer.h:110
#6  qGetPtrHelper<QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> > > (ptr=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qtclasshelpermacros.h:79
#7  QObject::d_func (this=0x0) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.h:107
#8  QObject::deleteLater (this=0x0) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:2462
#9  0x00007f482ff85d11 in DeviceControl::onDeviceRemoved (this=<optimized out>, udi=...) at /usr/src/debug/plasma-workspace-6.2.0-2.fc40.x86_64/applets/devicenotifier/plugin/devicecontrol.cpp:288
#10 0x00007f4899ffc8f2 in QtPrivate::QSlotObjectBase::call (this=0x5573a9a76b20, r=<optimized out>, a=0x7ffe36865550) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#11 doActivate<false> (sender=0x5573a8fae8c0, signal_index=4, argv=0x7ffe36865550) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#12 0x00007f4899ff2bc7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f489cca0780 <Solid::DeviceNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe36865550) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#13 0x00007f489cbf8eac in Solid::DeviceNotifier::deviceRemoved (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_devicenotifier.cpp:162
#14 0x00007f4899ffc8f2 in QtPrivate::QSlotObjectBase::call (this=0x5573a8f41120, r=<optimized out>, a=0x7ffe36865660) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469
#15 doActivate<false> (sender=0x5573a8ed0720, signal_index=4, argv=0x7ffe36865660) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086
#16 0x00007f4899ff2bc7 in QMetaObject::activate (sender=<optimized out>, m=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe36865660) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#17 0x00007f489cc0ea4c in Solid::Ifaces::DeviceManager::deviceRemoved (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_devicemanager.cpp:162
#18 0x00007f489cc37112 in Solid::Backends::UDisks2::Manager::slotInterfacesRemoved (this=<optimized out>, object_path=<optimized out>, interfaces=<optimized out>) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/src/solid/devices/backends/udisks2/udisksmanager.cpp:241
#19 Solid::Backends::UDisks2::Manager::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_udisksmanager.cpp:113
#20 0x00007f4899ffcc60 in doActivate<false> (sender=0x5573a8ed0738, signal_index=4, argv=0x7ffe36865940) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4098
#21 0x00007f4899ff2bc7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f489cca6de0 <OrgFreedesktopDBusObjectManagerInterface::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe36865940) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146
#22 0x00007f489cc4b286 in OrgFreedesktopDBusObjectManagerInterface::InterfacesRemoved (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_manager.cpp:200
#23 OrgFreedesktopDBusObjectManagerInterface::qt_static_metacall (_o=_o@entry=0x5573a8ed0738, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=1, _a=_a@entry=0x7ffe36865b18) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_manager.cpp:115
#24 0x00007f489cc4e13a in OrgFreedesktopDBusObjectManagerInterface::qt_metacall (this=0x5573a8ed0738, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7ffe36865b18) at /usr/src/debug/kf6-solid-6.7.0-1.fc40.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_manager.cpp:179
#25 0x00007f489b77c421 in QDBusConnectionPrivate::deliverCall (this=0x7f488000dd20, object=0x5573a8ed0738, msg=..., metaTypes=..., slotIdx=6) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/dbus/qdbusintegrator.cpp:1007
#26 0x00007f4899feddcb in QObject::event (this=0x5573a8ed0738, e=0x7f4880054b80) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qobject.cpp:1452
#27 0x00007f489c38b218 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5573a8ed0738, e=0x7f4880054b80) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/widgets/kernel/qapplication.cpp:3287
#28 0x00007f4899f96e88 in QCoreApplication::notifyInternal2 (receiver=0x5573a8ed0738, event=0x7f4880054b80) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1142
#29 0x00007f4899f970ed in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1583
#30 0x00007f4899f9ac51 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5573a8004ba0) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1940
#31 0x00007f4899f9aefd in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1797
#32 0x00007f489a2859ef in postEventSourceDispatch (s=0x5573a80ceb30) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#33 0x00007f4898b12e8c in g_main_dispatch (context=0x7f4880000f00) at ../glib/gmain.c:3344
#34 g_main_context_dispatch_unlocked (context=0x7f4880000f00) at ../glib/gmain.c:4152
#35 0x00007f4898b74c98 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f4880000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217
#36 0x00007f4898b14383 in g_main_context_iteration (context=0x7f4880000f00, may_block=1) at ../glib/gmain.c:4282
#37 0x00007f489a2851a3 in QEventDispatcherGlib::processEvents (this=0x5573a8031fc0, flags=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#38 0x00007f4899fa3bc3 in QEventLoop::exec (this=this@entry=0x7ffe36866180, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qflags.h:34
#39 0x00007f4899f9fa7c in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/corelib/global/qflags.h:74
#40 0x00007f489a7d66ed in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926
#41 0x00007f489c38b189 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.2-6.fc40.x86_64/src/widgets/kernel/qapplication.cpp:2555
#42 0x000055736a005153 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.2.0-2.fc40.x86_64/shell/main.cpp:188
Comment 3 Nate Graham 2024-11-13 18:08:52 UTC
Can't reproduce it myself on current git master.
Comment 4 Nicolas Fella 2025-02-01 15:29:40 UTC
*** Bug 499382 has been marked as a duplicate of this bug. ***
Comment 5 Bogdan Onofriuchuk 2025-02-01 18:50:30 UTC
Can't reproduce. Tried different ways to reproduce the bug:
1. Suggested in the bug report
2. Create new GPT table and unplug.
3. Create different file systems and unplug.
4. Import Partition table and then unplug.
Comment 6 Eugene Shalygin 2025-02-04 16:36:14 UTC
Errr... I see a related crash (#499382) in 6.2.5.
Comment 7 Nate Graham 2025-02-19 16:40:50 UTC
*** Bug 499382 has been marked as a duplicate of this bug. ***
Comment 8 Nate Graham 2025-02-19 16:41:29 UTC
Apparently not fixed yet, as we have a new report (bug 494659) from Plasma 6.2.5 with the same backtrace. Re-opening.
Comment 9 Nate Graham 2025-05-15 20:19:09 UTC
No more reports in 3 months. Is anyone still able to reproduce this with Plasma 6.3.5 and Frameworks 6.14, or later versions?

Thanks!
Comment 10 Bug Janitor Service 2025-05-30 03:48:13 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 11 Bug Janitor Service 2025-06-14 03:48:00 UTC
๐Ÿ›๐Ÿงน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME.
Comment 12 Nate Graham 2025-09-26 15:53:48 UTC
*** Bug 509962 has been marked as a duplicate of this bug. ***
Comment 13 Nate Graham 2025-09-26 15:54:50 UTC
Got a duplicate from someone using Plasma 6.3.6; re-opening. Apparently they can trigger the crash at will by running:

cryptsetup luksFormat --batch-mode \
    --key-file "$KEY_PATH" \
    --label="NIXOS-ENCRYPTED" "''${LOOP_DEV}p2"

With presumably the variables replaced with something machine-specific that makes sense.