Bug 371215 - Plasma Crashes when trying to end application with kquiapp5
Summary: Plasma Crashes when trying to end application with kquiapp5
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.8.2
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
: 370426 (view as bug list)
Depends on:
Blocks:
 
Reported: 2016-10-19 12:32 UTC by Lucas Lima
Modified: 2016-10-25 00:00 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 Lucas Lima 2016-10-19 12:32:52 UTC
Application: plasmashell (5.8.2)

Qt Version: 5.7.0
Frameworks Version: 5.27.0
Operating System: Linux 4.8.2-1-ARCH x86_64
Distribution: "Arch Linux"

-- Information about the crash:
- What I was doing when the application crashed:

Trying to quit the plasmashell with kquitapp5 resullted in a crash, and restarted the aplication.

- Unusual behavior I noticed:

The reason I wanted to quit plasmashell was incorrect wallpapper placing in my monitors. The restart of the plasmashell due to the crash (As the process detects the crash and restarts automatically) did not solve the issue.

The crash can be reproduced sometimes.

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

Thread 10 (Thread 0x7f9c8f75c700 (LWP 10235)):
#0  0x00007f9d84dece50 in  () at /usr/lib/libQt5Core.so.5
#1  0x00007f9d7f792c89 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f7936ab in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f9c8abf5700 (LWP 10234)):
#0  0x00007f9d7f7d8dd4 in g_mutex_unlock () at /usr/lib/libglib-2.0.so.0
#1  0x00007f9d7f792c7c in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f7936ab in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f9c9ec2d700 (LWP 2414)):
#0  0x00007f9d844cb48d in poll () at /usr/lib/libc.so.6
#1  0x00007f9d7f793786 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9ca92940a7 in KCupsConnection::run() () at /usr/lib/libkcupslib.so
#7  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f9cd57f6700 (LWP 2333)):
#0  0x00007ffe967b8a8b in clock_gettime ()
#1  0x00007f9d844e16b6 in clock_gettime () at /usr/lib/libc.so.6
#2  0x00007f9d84c641a1 in  () at /usr/lib/libQt5Core.so.5
#3  0x00007f9d84deb3a9 in QTimerInfoList::updateCurrentTime() () at /usr/lib/libQt5Core.so.5
#4  0x00007f9d84decc55 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d7f793179 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#6  0x00007f9d7f793724 in  () at /usr/lib/libglib-2.0.so.0
#7  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#8  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#9  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#10 0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#11 0x00007f9d88abc856 in  () at /usr/lib/libQt5Quick.so.5
#12 0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#13 0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#14 0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f9d5b367700 (LWP 2323)):
#0  0x00007f9d83cd410f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007f9d8a54cac4 in  () at /usr/lib/libQt5Script.so.5
#2  0x00007f9d8a54cb09 in  () at /usr/lib/libQt5Script.so.5
#3  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f9d62de7700 (LWP 2023)):
#0  0x00007f9d844c74ed in read () at /usr/lib/libc.so.6
#1  0x00007f9d7f7d7a10 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f793235 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d7f793724 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d87f1d2d5 in  () at /usr/lib/libQt5Qml.so.5
#9  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#10 0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f9d70d7b700 (LWP 2018)):
#0  0x00007f9d844cb48d in poll () at /usr/lib/libc.so.6
#1  0x00007f9d7f793786 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9d87f1d2d5 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f9d727c3700 (LWP 1985)):
#0  0x00007f9d7f793332 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#1  0x00007f9d7f7937f0 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9d7f79389c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9d84ded72b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9d84d9723a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d84bba0f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9d8593ae55 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f9d743f5700 (LWP 1964)):
#0  0x00007f9d844cb48d in poll () at /usr/lib/libc.so.6
#1  0x00007f9d8948c8e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007f9d8948e679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007f9d76132449 in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007f9d84bbed78 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f9d83cce454 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007f9d844d47df in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f9d8ada4800 (LWP 1951)):
[KCrash Handler]
#6  0x00007f9cb09997a8 in QPulseAudio::AbstractModel::propertyChanged() () at /usr/lib/libQPulseAudioPrivate.so
#7  0x00007f9cb09b1d08 in QPulseAudio::AbstractModel::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib/libQPulseAudioPrivate.so
#8  0x00007f9d84dc47f4 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#9  0x00007f9d84dc49ce in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#10 0x00007f9cb09ae3a2 in QPulseAudio::Server::defaultSourceChanged(QPulseAudio::Source*) () at /usr/lib/libQPulseAudioPrivate.so
#11 0x00007f9cb09ac189 in QPulseAudio::Server::updateDefaultDevices() () at /usr/lib/libQPulseAudioPrivate.so
#12 0x00007f9d84dc49ce in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5
#13 0x00007f9cb09ae201 in QPulseAudio::MapBaseQObject::removed(int) () at /usr/lib/libQPulseAudioPrivate.so
#14 0x00007f9cb0990914 in QPulseAudio::Context::reset() () at /usr/lib/libQPulseAudioPrivate.so
#15 0x00007f9cb0991ab2 in QPulseAudio::Context::~Context() () at /usr/lib/libQPulseAudioPrivate.so
#16 0x00007f9cb0991ffc in QPulseAudio::Context::unref() () at /usr/lib/libQPulseAudioPrivate.so
#17 0x00007f9cb0c27cc1 in  () at /usr/lib/qt/qml/org/kde/plasma/private/volume/libplasma-volume-declarative.so
#18 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#19 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#20 0x00007f9cd8e5ed2b in  () at /usr/lib/qt/qml/org/kde/plasma/core/libcorebindingsplugin.so
#21 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#22 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#23 0x00007f9d88b4ad03 in QQuickItem::~QQuickItem() () at /usr/lib/libQt5Quick.so.5
#24 0x00007f9d88b66006 in  () at /usr/lib/libQt5Quick.so.5
#25 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#26 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#27 0x00007f9d88b4ad03 in QQuickItem::~QQuickItem() () at /usr/lib/libQt5Quick.so.5
#28 0x00007f9cd6b859b4 in  () at /usr/lib/qt/qml/QtQuick/Layouts/libqquicklayoutsplugin.so
#29 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#30 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#31 0x00007f9d88b4ad03 in QQuickItem::~QQuickItem() () at /usr/lib/libQt5Quick.so.5
#32 0x00007f9d88b65d36 in  () at /usr/lib/libQt5Quick.so.5
#33 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#34 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#35 0x00007f9d88b4ad03 in QQuickItem::~QQuickItem() () at /usr/lib/libQt5Quick.so.5
#36 0x00007f9d88b655c6 in  () at /usr/lib/libQt5Quick.so.5
#37 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#38 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#39 0x00007f9d88b4ad03 in QQuickItem::~QQuickItem() () at /usr/lib/libQt5Quick.so.5
#40 0x00007f9d88b65d36 in  () at /usr/lib/libQt5Quick.so.5
#41 0x00007f9d8a878c8f in PlasmaQuick::AppletQuickItem::~AppletQuickItem() () at /usr/lib/libKF5PlasmaQuick.so.5
#42 0x00007f9d62df8de9 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#43 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#44 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#45 0x00007f9d62df64d8 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#46 0x00007f9d891fa80f in  () at /usr/lib/libKF5Plasma.so.5
#47 0x00007f9d891faa29 in  () at /usr/lib/libKF5Plasma.so.5
#48 0x00007f9d891e8259 in Plasma::Applet::~Applet() () at /usr/lib/libKF5Plasma.so.5
#49 0x00007f9d891e8279 in Plasma::Applet::~Applet() () at /usr/lib/libKF5Plasma.so.5
#50 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#51 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#52 0x00007f9d631d7cc9 in  () at /usr/lib/qt/plugins/plasma/applets/org.kde.plasma.private.systemtray.so
#53 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#54 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#55 0x00007f9d5b36b229 in  () at /usr/lib/qt/plugins/plasma/applets/org.kde.plasma.systemtray.so
#56 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#57 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#58 0x00007f9d891ec2a9 in Plasma::Containment::~Containment() () at /usr/lib/libKF5Plasma.so.5
#59 0x000000000044772c in  ()
#60 0x0000000000447a09 in  ()
#61 0x00007f9d84dc2dc1 in QObjectPrivate::deleteChildren() () at /usr/lib/libQt5Core.so.5
#62 0x00007f9d84dcc66f in QObject::~QObject() () at /usr/lib/libQt5Core.so.5
#63 0x00000000004537fe in  ()
#64 0x00007f9d84dc54f0 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#65 0x00007f9d85d03e0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#66 0x00007f9d85d0b581 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#67 0x00007f9d84d98de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#68 0x00007f9d84d9b56d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#69 0x00007f9d84d9f779 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#70 0x000000000041c8b2 in  ()
#71 0x00007f9d8440c291 in __libc_start_main () at /usr/lib/libc.so.6
#72 0x000000000041cc3a in _start ()

Reported using DrKonqi
Comment 1 David Edmundson 2016-10-19 13:45:46 UTC
thanks
Comment 2 Lucas Lima 2016-10-19 13:48:03 UTC
Also noticed on ksysguard that a plasmashell process stays as 'stopped', and a new one is spawned.
Comment 3 hamelg 2016-10-19 18:32:32 UTC
A duplicate here :
https://bugs.kde.org/show_bug.cgi?id=370426
Here, it crashes since plasma 5.8.0.
Comment 4 David Edmundson 2016-10-20 23:17:06 UTC
*** Bug 363291 has been marked as a duplicate of this bug. ***
Comment 5 David Edmundson 2016-10-20 23:17:54 UTC
*** Bug 370426 has been marked as a duplicate of this bug. ***
Comment 6 David Edmundson 2016-10-20 23:44:53 UTC
We have a SourceModel that inherits from AbastractModel 
 
AbastractModel inherits from both QObject and Ref

When we call the destructor of Ref, that kills the Pulseaudio::context that emits that the default source has changed during it's teardown.

Because the QObject destructor hasn't run yet, our signals are still attached; however they refer to data from SourceModel which we've already run the destructor on - hence crash.

Will fix.
Comment 7 David Edmundson 2016-10-21 10:44:56 UTC
*** Bug 371127 has been marked as a duplicate of this bug. ***
Comment 8 David Edmundson 2016-10-21 13:52:46 UTC
Fixed with  d6853cc1dc4e63a779e126c7f23acc2f1ce180f1 which is in Plasma 5.8.3
Comment 9 Alejandro Lorenzo 2016-10-24 15:39:56 UTC
(In reply to David Edmundson from comment #8)
> Fixed with  d6853cc1dc4e63a779e126c7f23acc2f1ce180f1 which is in Plasma 5.8.3

Could it be possible you were refering to 5.8.2 ? I looked into the plasma git repository and i cannot find the slightest mention to 5.8.3
Comment 10 Christoph Feck 2016-10-25 00:00:10 UTC
Alejandro,  commit is f143312e3bb427fe3a31ae1095db4410656b749e in plasma-pa 5.8 branch.