Bug 377050 - Plasmashell crashes whenever I close VLC
Summary: Plasmashell crashes whenever I close VLC
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.9.3
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-03-01 08:31 UTC by Adam Fontenot
Modified: 2017-04-20 10:56 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Fontenot 2017-03-01 08:31:47 UTC
Application: plasmashell (5.9.3)

Qt Version: 5.8.0
Frameworks Version: 5.31.0
Operating System: Linux 4.10.1-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
Every time I close VLC, plasmashell segfaults and automatically restarts. No idea what's causing it, but I've attached the crash report. Let me know if there's anything I can do to help track down the problem.

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5d3cd23800 (LWP 1148))]

Thread 23 (Thread 0x7f5c2a7fc700 (LWP 1398)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 22 (Thread 0x7f5c2affd700 (LWP 1397)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 21 (Thread 0x7f5c2b7fe700 (LWP 1396)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 20 (Thread 0x7f5c2bfff700 (LWP 1395)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 19 (Thread 0x7f5c58dec700 (LWP 1394)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 18 (Thread 0x7f5c595ed700 (LWP 1393)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 17 (Thread 0x7f5c59dee700 (LWP 1392)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 16 (Thread 0x7f5c5affd700 (LWP 1391)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 15 (Thread 0x7f5c5b7fe700 (LWP 1390)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 14 (Thread 0x7f5c5bfff700 (LWP 1389)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 13 (Thread 0x7f5c60dec700 (LWP 1388)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 12 (Thread 0x7f5c615ed700 (LWP 1387)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 11 (Thread 0x7f5c61dee700 (LWP 1386)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 10 (Thread 0x7f5c625ef700 (LWP 1385)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f5c5a5ef700 (LWP 1384)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978ea32 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#7  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f5c62df0700 (LWP 1383)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d36ad658b in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/libQt5Core.so.5
#2  0x00007f5c7978a1d0 in ThreadWeaver::Weaver::takeFirstAvailableJobOrSuspendOrWait(ThreadWeaver::Thread*, bool, bool, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#3  0x00007f5c7978e9d8 in  () at /usr/lib/libKF5ThreadWeaver.so.5
#4  0x00007f5c79789263 in ThreadWeaver::Weaver::applyForWork(ThreadWeaver::Thread*, bool) () at /usr/lib/libKF5ThreadWeaver.so.5
#5  0x00007f5c7978c249 in ThreadWeaver::Thread::run() () at /usr/lib/libKF5ThreadWeaver.so.5
#6  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#7  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#8  0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f5c87fd9700 (LWP 1343)):
#0  0x00007f5d3cc34890 in __tls_get_addr () at /lib64/ld-linux-x86-64.so.2
#1  0x00007f5d36ad4566 in  () at /usr/lib/libQt5Core.so.5
#2  0x00007f5d36d047ba in  () at /usr/lib/libQt5Core.so.5
#3  0x00007f5d311fec8d in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#4  0x00007f5d311ff6cb in  () at /usr/lib/libglib-2.0.so.0
#5  0x00007f5d311ff8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#6  0x00007f5d36d0506b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f5d36cae89a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#8  0x00007f5d36ad0a73 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d3a7bdfd6 in  () at /usr/lib/libQt5Quick.so.5
#10 0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#11 0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#12 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f5d169d8700 (LWP 1340)):
#0  0x00007f5d359a610f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f5d3c4b2234 in  () at /usr/lib/libQt5Script.so.5
#2  0x00007f5d3c4b2279 in  () at /usr/lib/libQt5Script.so.5
#3  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f5d17fff700 (LWP 1337)):
#0  0x00007f5d31244e64 in g_mutex_unlock () at /usr/lib/libglib-2.0.so.0
#1  0x00007f5d311fec80 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d311ff6cb in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d311ff8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f5d36d0506b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f5d36cae89a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f5d36ad0a73 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f5d39c0a025 in  () at /usr/lib/libQt5Qml.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f5d1e7c0700 (LWP 1295)):
#0  0x00007f5d363e148d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d311ff7a6 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d311ff8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d36d0506b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f5d36cae89a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f5d36ad0a73 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f5d39c0a025 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f5d1ffff700 (LWP 1184)):
#0  0x00007f5d31244e60 in g_mutex_unlock () at /usr/lib/libglib-2.0.so.0
#1  0x00007f5d311fec80 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f5d311ff6cb in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f5d311ff8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f5d36d0506b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f5d36cae89a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f5d36ad0a73 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f5d3711a125 in  () at /usr/lib/libQt5DBus.so.5
#8  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#10 0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f5d26006700 (LWP 1158)):
#0  0x00007f5d363e148d in poll () at /usr/lib/libc.so.6
#1  0x00007f5d3b3d88e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007f5d3b3da679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f5d27f45239 in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f5d36ad56d8 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f5d359a0454 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f5d363ea7df in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f5d3cd23800 (LWP 1148)):
[KCrash Handler]
#6  0x00007f5d3a863a09 in QQuickItem::mapToScene(QPointF const&) const () at /usr/lib/libQt5Quick.so.5
#7  0x00007f5d3a863f80 in QQuickItem::mapToItem(QQuickItem const*, QPointF const&) const () at /usr/lib/libQt5Quick.so.5
#8  0x00007f5d1c750457 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#9  0x00007f5d36cdc0be in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#10 0x00007f5d3af28ef2 in Plasma::Containment::appletRemoved(Plasma::Applet*) () at /usr/lib/libKF5Plasma.so.5
#11 0x00007f5d3af3fc48 in  () at /usr/lib/libKF5Plasma.so.5
#12 0x00007f5d3af2ba90 in  () at /usr/lib/libKF5Plasma.so.5
#13 0x00007f5d36cdbd49 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#14 0x00007f5d3af248c2 in Plasma::Applet::appletDeleted(Plasma::Applet*) () at /usr/lib/libKF5Plasma.so.5
#15 0x00007f5d3af2490a in Plasma::Applet::~Applet() () at /usr/lib/libKF5Plasma.so.5
#16 0x00007f5d3af24939 in Plasma::Applet::~Applet() () at /usr/lib/libKF5Plasma.so.5
#17 0x00007f5d36cdcbe0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#18 0x00007f5d37c1e34c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007f5d37c25b61 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#20 0x00007f5d36cb0440 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#21 0x00007f5d36cb2bcd in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#22 0x00007f5d36d04c43 in  () at /usr/lib/libQt5Core.so.5
#23 0x00007f5d311ff5a7 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#24 0x00007f5d311ff810 in  () at /usr/lib/libglib-2.0.so.0
#25 0x00007f5d311ff8bc in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#26 0x00007f5d36d0504f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#27 0x00007f5d36cae89a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#28 0x00007f5d36cb6de4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#29 0x000000000041ca42 in  ()
#30 0x00007f5d36322291 in __libc_start_main () at /usr/lib/libc.so.6
#31 0x000000000041cdca in _start ()

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2017-03-01 11:01:49 UTC
Loks like it crashes here, no idea why _plasma_graphicObject is already gone here, though. Could be Media Controller applet (which is unloaded when MPRIS goes away). Can't reproduce, though.

void ContainmentInterface::appletRemovedForward(Plasma::Applet *applet)
{
    AppletInterface *appletGraphicObject = applet->property("_plasma_graphicObject").value<AppletInterface *>();
    m_appletInterfaces.removeAll(appletGraphicObject);
    appletGraphicObject->m_positionBeforeRemoval = appletGraphicObject->mapToItem(this, QPointF()); <<<<<<<<<<<
    emit appletRemoved(appletGraphicObject);
    emit appletsChanged();
}
Comment 2 Marco Martin 2017-03-01 15:19:06 UTC
bt is not 100% complete, but the crash is likely in ContainmentInterface::appletRemovedForward
Comment 3 Marco Martin 2017-03-01 15:24:33 UTC
(In reply to Kai Uwe Broulik from comment #1)
> Loks like it crashes here, no idea why _plasma_graphicObject is already gone
> here, though. Could be Media Controller applet (which is unloaded when MPRIS
> goes away). Can't reproduce, though.

yeah, at that point applet* and its _graphicsobject are supposed to be guaranteed to still exist :/
Comment 4 Michail Vourlakos 2017-03-06 19:06:33 UTC
This occurs also with Latte Dock, more information with the backtrace can be found here: 
https://github.com/psifidotos/Latte-Dock/issues/234

What I can not understand is why removing vlc window calls an applet removal! 

The user reported this uses a master version vlc that is of the version 3 branch...

In my system that I use vlc 2.2 I can not reproduce this behavior...
Comment 5 Michail Vourlakos 2017-03-06 20:39:12 UTC
the user confirms:

"as soon as I disable the media player in the systray plasmashell crash !!!!",
meaning without closing vlc


"Once the media player in systray is disabled...
VLC works fine and can be shut down without crashing the system...
Thus, the problem seems to be confined to the media player applet..."


from my understanding removing the media player from systray creates the crash in some systems...
Comment 6 Michail Vourlakos 2017-03-06 21:37:21 UTC
user also added that tried the following players:

DragonPlayer
Amarok
MPV
MPlayer

and the crash does not occur...
Comment 7 Adam Fontenot 2017-03-07 10:47:07 UTC
For the record I am using VLC 2.2.4. Happy to help debug if there's anything I can do.
Comment 8 David Edmundson 2017-03-07 11:44:42 UTC
>What I can not understand is why removing vlc window calls an applet removal! 

There's a "now playing" applet, it get added/removed whenever something implementing mpris comes along.
Comment 9 Michail Vourlakos 2017-03-07 14:42:25 UTC
> There's a "now playing" applet, it get added/removed whenever something
> implementing mpris comes along.

Thanks for the reply, David!

The user of Latte confirmed that this occured because of the "now playing" applet in the systray. By disabling it plasma does not crash any more...


Just to add my thought in it...
Isnt there a chance  because of vlc faulty behavior the "now playing" applet to be added while it is removed?
So the crash of the applet removal is of the second removal not the first one occuring..
Comment 10 Adam Fontenot 2017-04-09 00:28:48 UTC
Update: I still get a crash with the latest packages.

Application: plasmashell (5.9.4)

Qt Version: 5.8.0
Frameworks Version: 5.32.0
Operating System: Linux 4.10.8-1-ARCH x86_64
Distribution: "Arch Linux"
Comment 11 David Edmundson 2017-04-12 22:51:23 UTC
Found it!

Interestingly nothing to do with media controller.

If system tray adds an Applet which is incredibly broken (such as missing metadta) it will still get created. 
For some reason that I don't know yet Containmnet::createApplet isn't returning null

ContainmentInterface guards against an invalid graphic object when an applet is added forward.

However, nothing really bad happens.
So .. we then add a media player, and then later delete it:

We then get into this code in the system tray:

void SystemTray::cleanupTask(const QString &task)
{
    foreach (Plasma::Applet *applet, applets()) {
        if (!applet->pluginMetaData().isValid() || task == applet->pluginMetaData().pluginId()) {
            applet->deleteLater();


So when we try and clean up VLC we end up also cleaning our broken applet. (whatever that is)

This then gets removed.

ContainmentInterface doesn't guard against the graphics object on applet removal, and we get our cras.


So 3 bits of code, and they're all bad.

Containment::createApplet : should be failing properly

ContainmentInterface::appletAdded / appletRemoved: should be consistent with guards. I don't think there should be any. It's a bad habbit to just blindly guard pointers that should be there. It would have made diagnosing this a million times faster.

SystemTray::cleanupTask : why is it checking applet metadata now???
Comment 12 David Edmundson 2017-04-13 11:01:47 UTC
Git commit 1387b5efe31e330777c8ffd9029f79063cc7a7a9 by David Edmundson.
Committed on 13/04/2017 at 09:49.
Pushed by davidedmundson into branch 'master'.

Guard against Applet not loading AppletInterface

Summary:
This can happen if an applet has invalid metadata, it doesn't have a
script engine set (X-Plasma-API) so it won't load the DeclarativeAppletScripts
Having invalid metadata could come from the applet, or from the fallback applet
created in Containment::Private::createApplet.

We guard against it in appletAdded but not in appletRemoved, which is
inconsistent. We also apparently must have guards elsewhere otherwise
we'd see the crash more.

Test Plan: Had corrupt applet, used to crash, now doesn't

Reviewers: #plasma

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D5423

M  +6    -3    src/scriptengines/qml/plasmoid/containmentinterface.cpp

https://commits.kde.org/plasma-framework/1387b5efe31e330777c8ffd9029f79063cc7a7a9
Comment 13 David Edmundson 2017-04-20 10:56:44 UTC
Git commit 4421cc3041b9d172378ba5774241f7079f802073 by David Edmundson.
Committed on 20/04/2017 at 10:56.
Pushed by davidedmundson into branch 'Plasma/5.9'.

Don't remove other applets in SystemTray::cleanupTask

Summary:
We can get into a state where we have applets with broken metadata.
(which is a different bug)

Someone clearly wrote this code to try and guard against accessing an
invalid metadata when checking names, but instead made it so that when
we try to remove a specific task in the system tray we accidentally also
remove up any of these applets as well, which doesn't make much sense.

Reviewers: #plasma, mart

Reviewed By: mart

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D5422

M  +1    -1    applets/systemtray/systemtray.cpp

https://commits.kde.org/plasma-workspace/4421cc3041b9d172378ba5774241f7079f802073