Bug 445231

Summary: Plasmashell sometimes crashes when disconnecting an USB stick
Product: [Plasma] plasmashell Reporter: Antti Savolainen <antti.savo>
Component: PanelAssignee: Plasma Bugs List <plasma-bugs>
Severity: crash CC: nate, sampingu02
Priority: NOR    
Version: 5.23.2   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In:

Description Antti Savolainen 2021-11-09 21:53:21 UTC
Demonstrative video: https://youtu.be/NP7jhyzO4vg
Sometimes when disconnecting an USB stick using the GUI, it crashes the shell. This does not happen every time so you may need to try plugging and unplugging the stick physically multiple times.

1. Repeatedly mount and unmount an USB stick through the GUI

Sometimes the plasmashell crashes

No crash should happen

Linux/KDE Plasma: Arch Linux
(available in About System)
KDE Plasma Version: 5.23.2
KDE Frameworks Version: 5.87.0
Qt Version: 5.15.2

#0  0x00007f01a4167d22 in raise () at /usr/lib/libc.so.6
#1  0x00007f01a662a064 in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF5Crash.so.5
#2  0x00007f01a4167da0 in <signal handler called> () at /usr/lib/libc.so.6
#3  std::__atomic_base<QThreadData*>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=<error reading variable: Cannot access memory at address 0x8>)
    at /usr/include/c++/11.1.0/bits/atomic_base.h:836
#4  std::atomic<QThreadData*>::load(std::memory_order) const (__m=std::memory_order_relaxed, this=<error reading variable: Cannot access memory at address 0x8>) at /usr/include/c++/11.1.0/atomic:570
#5  QAtomicOps<QThreadData*>::loadRelaxed<QThreadData*>(std::atomic<QThreadData*> const&) (_q_value=<error reading variable: Cannot access memory at address 0x8>) at /usr/include/qt/QtCore/qatomic_cxx11.h:239
#6  QBasicAtomicPointer<QThreadData>::loadRelaxed() const (this=<error reading variable: Cannot access memory at address 0x8>) at /usr/include/qt/QtCore/qbasicatomic.h:248
#7  QQmlNotifierEndpoint::connect(QObject*, int, QQmlEngine*, bool) (this=this@entry=0x5557906804d0, source=0x555790817e30, sourceSignal=46, engine=0x0, doNotify=doNotify@entry=true)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlnotifier.cpp:122
#8  0x00007f01a5cdf7d7 in QQmlVMEMetaObjectEndpoint::tryConnect() (this=0x5557906804d0) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:258
#9  0x00007f01a5cdfa78 in QQmlVMEMetaObject::connectAlias(int) (this=this@entry=0x555790627460, aliasId=aliasId@entry=1) at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:1294
#10 0x00007f01a5ce10ab in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (this=0x555790627460, o=<optimized out>, c=QMetaObject::ReadProperty, _id=<optimized out>, a=0x7fffcf3266c0)
    at /usr/src/debug/qtdeclarative/src/qml/qml/qqmlvmemetaobject.cpp:906
#11 0x00007f01a5c12e55 in QQmlPropertyData::readProperty(QObject*, void*) const (property=0x7fffcf3266a0, target=<optimized out>, this=0x7f018c6c6c58)
    at ../../include/QtQml/5.15.2/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:357
#12 loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) (v4=0x55578b725010, object=0x5557904fb180, property=...) at /usr/src/debug/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:152
#13 0x00007f01567db2d3 in  ()
#14 0x0000000000000000 in  ()
Comment 1 Samuel 2021-11-10 14:09:31 UTC
*** Bug 445247 has been marked as a duplicate of this bug. ***
Comment 2 Samuel 2021-11-10 14:11:43 UTC
Here is a video of this issue from my side:- https://youtu.be/WfIZxLBrRLE
Comment 3 Samuel 2021-11-10 14:20:35 UTC
In my case,
1. Insert USB and mount it from systray applet.
2. Un-mount the partition through the system tray applet.
3. Watch Plasmashell crash and replace itself.

  Sometimes, plasmashell doesnt crash. So trying this multiple times will result in crash (as shown in the video)
Comment 4 Nate Graham 2021-11-10 17:01:47 UTC

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