Bug 522051 - Crash in Solid::StorageAccess::isAccessible when Audex Flatpak on KDE Linux ejects a disc
Summary: Crash in Solid::StorageAccess::isAccessible when Audex Flatpak on KDE Linux e...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.7.80
Platform: KDE Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-23 09:30 UTC by Jan Rathmann
Modified: 2026-07-07 10:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.8.0
Sentry Crash Report:


Attachments
Full backtrace of the crash (154.10 KB, text/plain)
2026-06-23 09:30 UTC, Jan Rathmann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Rathmann 2026-06-23 09:30:07 UTC
DESCRIPTION
plasmashell crashes always for me when Audex (Flatpak from Flathub) on KDE Linux ejects a disk. I can't reproduce this crash with Kubuntu 26.04 as OS (Plasma 6.6.4, Frameworks 6.24.0, Qt 6.10.2, Kernel 7.0.0-22).

STEPS TO REPRODUCE
1. Have a CD drive.
2. Insert an Audio CD.
3. Open Audex.
4. Click the eject button.

SOFTWARE/OS VERSIONS
Operating System: KDE Linux 2026-06-23
KDE Plasma Version: 6.7.80
KDE Frameworks Version: 6.28.0
Qt Version: 6.11.1
Kernel Version: 7.0.12-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 5700G with Radeon Graphics
Memory: 64 GiB of RAM (61.6 GiB usable)
Graphics Processor: AMD Radeon Graphics
Manufacturer: ASUS

ADDITIONAL INFORMATION

Backtrace of main thread (see attached file for full bt):

Thread 1 (Thread 0x7effcf6ba280 (LWP 1856)):
[KCrash Handler]
#5  0x00007effd9489cd4 in Solid::StorageAccess::isAccessible (this=this@entry=0x0) at /builder/src/solid/src/solid/devices/frontend/storageaccess.cpp:58
#6  0x00007effbc721c00 in StateInfo::setIdleState (this=this@entry=0x55e0490757c0, operationResult=Solid::NoError, operationInfo=..., udi=...) at /builder/src/plasma-workspace/applets/devicenotifier/stateinfo.cpp:236
#7  0x00007effbc7241cf in QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void, void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&)>::call(void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&), StateInfo*, void**)::{lambda()#1}::operator()() const (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:127
#8  QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void, void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&)>::call(void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&), StateInfo*, void**)::{lambda()#1}>(void**, QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void, void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&)>::call(void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&), StateInfo*, void**)::{lambda()#1}&&) (args=<optimized out>, fn=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:66
#9  QtPrivate::FunctorCall<std::integer_sequence<unsigned long, 0ul, 1ul, 2ul>, QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void, void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&)>::call (f=<optimized out>, o=<optimized out>, arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:127
#10 QtPrivate::FunctionPointer<void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&)>::call<QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void> (f=<optimized out>, o=<optimized out>, arg=0x7fffd8cb0990) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:175
#11 QtPrivate::QCallableObject<void (StateInfo::*)(Solid::ErrorType, QVariant, QString const&), QtPrivate::List<Solid::ErrorType, QVariant, QString const&>, void>::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=0x7fffd8cb0990, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:546
#12 0x00007effd61e881b in QtPrivate::QSlotObjectBase::call (this=0x55e04aac1e70, r=<optimized out>, a=0x7fffd8cb0990, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:462
#13 doActivate<false> (sender=0x55e04a614620, signal_index=4, argv=0x7fffd8cb0990) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4372
#14 0x00007effd948520b in QMetaObject::activate<void, Solid::ErrorType, QVariant, QString> (sender=0x55e04999df60, mo=0x7effd95686e0 <Solid::OpticalDrive::staticMetaObject>, local_signal_index=1, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:320
#15 Solid::OpticalDrive::ejectDone (this=this@entry=0x55e04a614620, _t1=<optimized out>, _t2=..., _t3=...) at /usr/src/debug/90ecfbe7-4601436.x86-64/solid/src/solid/KF6Solid_autogen/include/moc_opticaldrive.cpp:253
#16 0x00007effd94855f4 in Solid::OpticalDrive::qt_static_metacall (_o=0x55e04a614620, _c=<optimized out>, _id=<optimized out>, _a=0x7fffd8cb0b70) at /usr/src/debug/90ecfbe7-4601436.x86-64/solid/src/solid/KF6Solid_autogen/include/moc_opticaldrive.cpp:163
#17 0x00007effd61e8a59 in doActivate<false> (sender=0x55e04999ded0, signal_index=4, argv=0x7fffd8cb0b70) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4384
#18 0x00007effd94fa69a in QMetaObject::activate<void, Solid::ErrorType, QVariant, QString> (sender=0x55e04999ded0, mo=0x7effd9571720 <Solid::Backends::UDisks2::OpticalDrive::staticMetaObject>, local_signal_index=1, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:320
#19 Solid::Backends::UDisks2::OpticalDrive::ejectDone (this=0x55e04999ded0, _t1=<optimized out>, _t2=..., _t3=...) at /usr/src/debug/90ecfbe7-4601436.x86-64/solid/src/solid/KF6Solid_autogen/include/moc_udisksopticaldrive.cpp:205
#20 Solid::Backends::UDisks2::OpticalDrive::slotEjectDone (this=0x55e04999ded0, error=0, errorString=...) at /builder/src/solid/src/solid/devices/backends/udisks2/udisksopticaldrive.cpp:123
#21 0x00007effd94fab63 in Solid::Backends::UDisks2::OpticalDrive::qt_metacall (this=0x55e04999ded0, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fffd8cb0d28) at /usr/src/debug/90ecfbe7-4601436.x86-64/solid/src/solid/KF6Solid_autogen/include/moc_udisksopticaldrive.cpp:185
#22 0x00007effd66d6f89 in QDBusConnectionPrivate::deliverCall (this=0x7effc8001680, object=0x55e04999ded0, msg=..., metaTypes=<optimized out>, slotIdx=10) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusintegrator.cpp:1009
#23 0x00007effd61dfd46 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1479
#24 0x00007effd899011f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55e04999ded0, e=0x7effc8037dc0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3276
#25 0x00007effd617b658 in QCoreApplication::notifyInternal2 (receiver=0x55e04999ded0, event=event@entry=0x7effc8037dc0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1114
#26 0x00007effd617ba61 in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7effc8037dc0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1559
#27 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55e0469c6250) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1914
#28 0x00007effd6497c98 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1767
#29 postEventSourceDispatch (s=0x55e0469d3730) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:248
#30 0x00007effd4910bfd in g_main_dispatch (context=0x7effc8000f00) at ../glib/glib/gmain.c:3591
#31 0x00007effd4912e57 in g_main_context_dispatch_unlocked (context=0x7effc8000f00) at ../glib/glib/gmain.c:4451
#32 g_main_context_iterate_unlocked (context=context@entry=0x7effc8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4516
#33 0x00007effd4912fe5 in g_main_context_iteration (context=0x7effc8000f00, may_block=1) at ../glib/glib/gmain.c:4582
#34 0x00007effd64950b2 in QEventDispatcherGlib::processEvents (this=0x55e0469d33f0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:402
#35 0x00007effd6189983 in QEventLoop::processEvents (this=0x7fffd8cb1380, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:109
#36 QEventLoop::exec (this=0x7fffd8cb1380, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:198
#37 0x00007effd617eeaa in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1457
#38 0x00007effd898c33a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2546
#39 0x000055e03e583885 in main (argc=<optimized out>, argv=<optimized out>) at /builder/src/plasma-workspace/shell/main.cpp:204
Comment 1 Jan Rathmann 2026-06-23 09:30:47 UTC
Created attachment 193585 [details]
Full backtrace of the crash
Comment 2 Jan Rathmann 2026-06-23 09:34:16 UTC
This also happens when Audex is configured to auto-eject the CD after ripping finnished.

With other CD Rippers from Flathub that work on KDE Linux (Asunder, Grim Ripper, fre:ac), I can't trigger this crash when I let them open the drive.
Comment 3 Bug Janitor Service 2026-06-24 09:08:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/6790
Comment 4 Jan Rathmann 2026-06-24 09:31:39 UTC
More details, in case it helps:

What causes the same crash:
* Ejecting an Audio-CD via Dolphin's sidebar (context menu)

What doesn't cause a crash:
* Ejecting via physical eject button on drive
* Ejecting a data CD-ROM via Dolphin's sidebar
* Ejecting an Audio-CD via Dolphin's sidebar on Kubuntu 26.04 instead of KDE Linux

Noticed the MR, hope I'll get around to test it soon!
Comment 5 Kai Uwe Broulik 2026-06-24 10:34:50 UTC
Git commit 78b05931f1e91d4bbdb519977ec17726371e4039 by Kai Uwe Broulik.
Committed on 24/06/2026 at 09:35.
Pushed by meven into branch 'master'.

applets/devicenotifier: Check StorageAccess being null

It is also connected to OpticalDrive which is not a storage access.

M  +5    -5    applets/devicenotifier/stateinfo.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/78b05931f1e91d4bbdb519977ec17726371e4039
Comment 6 Kai Uwe Broulik 2026-06-30 09:01:16 UTC
Git commit 6786986f8af6674a965f46a21016c99be41e5d5c by Kai Uwe Broulik.
Committed on 30/06/2026 at 08:03.
Pushed by broulik into branch 'Plasma/6.7'.

applets/devicenotifier: Check StorageAccess being null

It is also connected to OpticalDrive which is not a storage access.


(cherry picked from commit 78b05931f1e91d4bbdb519977ec17726371e4039)

Co-authored-by: Kai Uwe Broulik <kde@privat.broulik.de>

M  +5    -5    applets/devicenotifier/stateinfo.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/6786986f8af6674a965f46a21016c99be41e5d5c
Comment 7 Kai Uwe Broulik 2026-07-07 10:00:30 UTC
Git commit 644691aa8f83d2931e2b7d28b38f6fedfe35f4d6 by Kai Uwe Broulik, on behalf of Kai Uwe Broulik.
Committed on 07/07/2026 at 10:00.
Pushed by broulik into branch 'Plasma/6.6'.

applets/devicenotifier: Check StorageAccess being null

It is also connected to OpticalDrive which is not a storage access.

(cherry picked from commit 78b05931f1e91d4bbdb519977ec17726371e4039)

M  +5    -5    applets/devicenotifier/devicestatemonitor_p.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/644691aa8f83d2931e2b7d28b38f6fedfe35f4d6