Bug 445114

Summary: Plasma failure after safe disassembly of the external drive.
Product: [Plasma] plasmashell Reporter: Dariusz Tereszkiewicz <dariusz.tereszkiewicz>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.23.2   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dariusz Tereszkiewicz 2021-11-07 13:29:12 UTC
Application: plasmashell (5.23.2)

Qt Version: 5.15.3
Frameworks Version: 5.87.0
Operating System: Linux 5.11.0-36-generic x86_64
Windowing System: X11
Distribution: KDE neon User - Plasma 25th Anniversary Edition
DrKonqi: 5.23.2 [KCrashBackend]

-- Information about the crash:
- What I was doing when the application crashed:
Plasma crashes when you safely unmount the external drive.
Unmounting is done in two ways. Once, through the Disks applet. Two, through the Dolphin app.
However, when I do it with the command "umount /dev/sdc1", there is no failure.

The fact that sometimes unmounting a partition, especially NTFS, takes a while, as if the partition was still occupied. And when it performs an "unmount", I see it, but I have the impression that Plasma wants to unmount the partition too quickly

The crash can be reproduced every time.

-- Backtrace:
Application: Plazma (plasmashell), signal: Segmentation fault

[New LWP 1718]
[New LWP 1781]
[New LWP 1936]
[New LWP 1942]
[New LWP 1943]
[New LWP 1985]
[New LWP 1990]
[New LWP 2379]
[New LWP 2455]
[New LWP 7699]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f5ecda7caff in __GI___poll (fds=0x7fffdbedb938, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:29
__preamble__
[Current thread is 1 (Thread 0x7f5ec9bd19c0 (LWP 1612))]

Thread 11 (Thread 0x7f5e95752700 (LWP 7699)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x565067dc2624) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x565067dc25d0, cond=0x565067dc25f8) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x565067dc25f8, mutex=0x565067dc25d0) at pthread_cond_wait.c:638
#3  0x00007f5ecde115cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x565067dc25d0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x5650685db4b0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f5ecfa7ac24 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f5ecfa7b099 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x5650685db410) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f5e9489e700 (LWP 2455)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x565067f97174) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x565067f97120, cond=0x565067f97148) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x565067f97148, mutex=0x565067f97120) at pthread_cond_wait.c:638
#3  0x00007f5ecde115cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x565067f97120) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x56506682b170, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f5ecfa7ac24 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f5ecfa7b099 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x56506682b0d0) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f5e8bbff700 (LWP 2379)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x565068596130) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5650685960e0, cond=0x565068596108) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x565068596108, mutex=0x5650685960e0) at pthread_cond_wait.c:638
#3  0x00007f5ecde115cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5650685960e0) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x56506855bd20, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f5ecfa7ac24 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f5ecfa7b099 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x56506855bc80) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f5e9c906700 (LWP 1990)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5650668869c0) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x565066886970, cond=0x565066886998) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x565066886998, mutex=0x565066886970) at pthread_cond_wait.c:638
#3  0x00007f5ecde115cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x565066886970) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x56506646fbb0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f5ecfa7ac24 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f5ecfa7b099 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x56506646fb10) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f5e9f3a4700 (LWP 1985)):
#0  0x00007f5ecc375508 in g_mutex_unlock () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5ecc3278e1 in g_main_context_prepare () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ecc32829b in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ecc3284a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5ece04c61b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5e98000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f5ecdff08ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5e9f3a3ba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5ecde0a2c2 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5e9d35107c in KCupsConnection::run() () at /usr/lib/x86_64-linux-gnu/libkcupslib.so
#8  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x565066855050) at thread/qthread_unix.cpp:329
#9  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f5eb28b0700 (LWP 1943)):
#0  0x00007f5ecda7f12b in __GI___select (nfds=44, readfds=0x7f5eb28afba0, writefds=0x0, exceptfds=0x0, timeout=0x7f5eb28afb90) at ../sysdeps/unix/sysv/linux/select.c:41
#1  0x00007f5ec1f5b981 in  () at /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.460.91.03
#2  0x00007f5ec1f5946a in  () at /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.460.91.03
#3  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#4  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f5eb357d700 (LWP 1942)):
#0  futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x56506578f954) at ../sysdeps/nptl/futex-internal.h:183
#1  __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x56506578f900, cond=0x56506578f928) at pthread_cond_wait.c:508
#2  __pthread_cond_wait (cond=0x56506578f928, mutex=0x56506578f900) at pthread_cond_wait.c:638
#3  0x00007f5ecde115cb in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x56506578f900) at thread/qwaitcondition_unix.cpp:146
#4  QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x56506576b520, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007f5ecfa7ac24 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#6  0x00007f5ecfa7b099 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x56506576b480) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f5eb8bfc700 (LWP 1936)):
#0  0x00007f5ece04ccda in postEventSourcePrepare (timeout=0x0, s=0x7f5eac038470) at kernel/qeventdispatcher_glib.cpp:270
#1  postEventSourceCheck(GSource*) (source=0x7f5eac038470) at kernel/qeventdispatcher_glib.cpp:270
#2  0x00007f5ecc327da1 in g_main_context_check () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ecc328312 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5ecc3284a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5ece04c61b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5eac035d40, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f5ecdff08ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5eb8bfbba0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#7  0x00007f5ecde0a2c2 in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#8  0x00007f5ecf9b53fa in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x565065745180) at thread/qthread_unix.cpp:329
#10 0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#11 0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f5ebbfff700 (LWP 1781)):
#0  __libc_enable_asynccancel () at ../sysdeps/unix/sysv/linux/x86_64/cancellation.S:62
#1  0x00007f5ecda7cae7 in __GI___poll (fds=0x7f5eb4004a60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#2  0x00007f5ecc32836e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ecc3284a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5ece04c61b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5eb4000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f5ecdff08ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5ebbffebc0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#6  0x00007f5ecde0a2c2 in QThread::exec() (this=this@entry=0x5650646b4330) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#7  0x00007f5ecf61b549 in QQmlThreadPrivate::run() (this=0x5650646b4330) at qml/ftw/qqmlthread.cpp:155
#8  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x5650646b4330) at thread/qthread_unix.cpp:329
#9  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f5ec3e74700 (LWP 1718)):
#0  0x00007f5ecda7caff in __GI___poll (fds=0x7f5ebc014dc0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f5ecc32836e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ecc3284a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ece04c61b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f5ebc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f5ecdff08ab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f5ec3e73bb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f5ecde0a2c2 in QThread::exec() (this=this@entry=0x7f5ecea01d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f5ece97df4b in QDBusConnectionManager::run() (this=0x7f5ecea01d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#7  0x00007f5ecde0b45c in QThreadPrivate::start(void*) (arg=0x7f5ecea01d80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#8  0x00007f5eccd5a609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f5ecda89293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f5ec9bd19c0 (LWP 1612)):
[KCrash Handler]
#4  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++/9/bits/atomic_base.h:734
#5  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++/9/atomic:519
#6  QAtomicOps<QThreadData*>::loadRelaxed<QThreadData*>(std::atomic<QThreadData*> const&) (_q_value=<error reading variable: Cannot access memory at address 0x8>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qatomic_cxx11.h:239
#7  QBasicAtomicPointer<QThreadData>::loadRelaxed() const (this=<error reading variable: Cannot access memory at address 0x8>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qbasicatomic.h:248
#8  QQmlNotifierEndpoint::connect(QObject*, int, QQmlEngine*, bool) (this=this@entry=0x565067ff38b0, source=0x565068259540, sourceSignal=46, engine=0x0, doNotify=doNotify@entry=true) at qml/qqmlnotifier.cpp:122
#9  0x00007f5ecf548f64 in QQmlVMEMetaObjectEndpoint::tryConnect() (this=this@entry=0x565067ff38b0) at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:266
#10 0x00007f5ecf5491ca in QQmlVMEMetaObject::connectAlias(int) (this=this@entry=0x565068610850, aliasId=aliasId@entry=1) at qml/qqmlvmemetaobject.cpp:1294
#11 0x00007f5ecf54aa92 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) (this=0x565068610850, o=<optimized out>, c=QMetaObject::ReadProperty, _id=<optimized out>, a=0x7fffdbedc810) at qml/qqmlvmemetaobject.cpp:906
#12 0x00007f5ecf474cc5 in loadProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const&) () at ../../include/QtQml/5.15.3/QtQml/private/../../../../../src/qml/qml/qqmlpropertydata_p.h:357
#13 0x00007f5eb0c7e993 in  ()
#14 0x0000000000000000 in  ()
[Inferior 1 (process 1612) detached]

Possible duplicates by query: bug 444352, bug 442475, bug 441365, bug 439498, bug 430431.

Reported using DrKonqi
Comment 1 Nate Graham 2021-11-09 03:48:23 UTC

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