Bug 371779 - Plasma crashing
Summary: Plasma crashing
Status: RESOLVED DOWNSTREAM
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
Depends on:
Blocks:
 
Reported: 2016-10-28 11:59 UTC by Cristian Vargas
Modified: 2017-06-21 13:08 UTC (History)
5 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 Cristian Vargas 2016-10-28 11:59:36 UTC
Application: plasmashell (5.8.2)

Qt Version: 5.7.0
Frameworks Version: 5.27.0
Operating System: Linux 4.8.4-1-ARCH x86_64
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
Tried adding the comic strip widget.
On the left top corner, i clicked on Add Widgets, picked the comic strip and dragged it to my desktop. Doing that crashes plasma every time. Tried with other widgets, they work.

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 0x7fd010829800 (LWP 3557))]

Thread 7 (Thread 0x7fcf5c791700 (LWP 3660)):
#0  0x00007fd009f204ed in read () at /usr/lib/libc.so.6
#1  0x00007fd00522ea10 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fd0051ea235 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#3  0x00007fd0051ea724 in  () at /usr/lib/libglib-2.0.so.0
#4  0x00007fd0051ea89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#5  0x00007fd00a84672b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007fd00a7f023a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#7  0x00007fd00a6130f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#8  0x00007fd00e515856 in  () at /usr/lib/libQt5Quick.so.5
#9  0x00007fd00a617d78 in  () at /usr/lib/libQt5Core.so.5
#10 0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#11 0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7fcfe2f8a700 (LWP 3659)):
#0  0x00007fd00972d10f in pthread_cond_wait@@GLIBC_2.3.2 () at /usr/lib/libpthread.so.0
#1  0x00007fd00ffa5ac4 in  () at /usr/lib/libQt5Script.so.5
#2  0x00007fd00ffa5b09 in  () at /usr/lib/libQt5Script.so.5
#3  0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#4  0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7fcff0c64700 (LWP 3624)):
#0  0x00007fd009f2448d in poll () at /usr/lib/libc.so.6
#1  0x00007fd0051ea786 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fd0051ea89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fd00a84672b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fd00a7f023a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fd00a6130f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fd00d9762d5 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007fd00a617d78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7fcff27c0700 (LWP 3600)):
#0  0x00007fd009f2448d in poll () at /usr/lib/libc.so.6
#1  0x00007fd0051ea786 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fd0051ea89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fd00a84672b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fd00a7f023a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fd00a6130f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fd00d9762d5 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007fd00a617d78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7fcff3fff700 (LWP 3582)):
#0  0x00007fd009f2448d in poll () at /usr/lib/libc.so.6
#1  0x00007fd0051ea786 in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007fd0051ea89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007fd00a84672b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007fd00a7f023a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007fd00a6130f3 in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007fd00b393e55 in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007fd00a617d78 in  () at /usr/lib/libQt5Core.so.5
#8  0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#9  0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7fcff9e5b700 (LWP 3570)):
#0  0x00007fd009f2448d in poll () at /usr/lib/libc.so.6
#1  0x00007fd00eee58e0 in  () at /usr/lib/libxcb.so.1
#2  0x00007fd00eee7679 in xcb_wait_for_event () at /usr/lib/libxcb.so.1
#3  0x00007fcffbb98449 in  () at /usr/lib/libQt5XcbQpa.so.5
#4  0x00007fd00a617d78 in  () at /usr/lib/libQt5Core.so.5
#5  0x00007fd009727454 in start_thread () at /usr/lib/libpthread.so.0
#6  0x00007fd009f2d7df in clone () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7fd010829800 (LWP 3557)):
[KCrash Handler]
#6  0x00007fd00ec6ccbb in Plasma::DataEngine::connectSource(QString const&, QObject*, unsigned int, Plasma::Types::IntervalAlignment) const () at /usr/lib/libKF5Plasma.so.5
#7  0x00007fcf3f2498ae in  () at /usr/lib/qt/plugins/plasma/applets/plasma_applet_comic.so
#8  0x00007fd00ec473ce in Plasma::Containment::addApplet(Plasma::Applet*) () at /usr/lib/libKF5Plasma.so.5
#9  0x00007fd00ec5bcfb in  () at /usr/lib/libKF5Plasma.so.5
#10 0x00007fd00ec45aa4 in Plasma::Containment::createApplet(QString const&, QList<QVariant> const&) () at /usr/lib/libKF5Plasma.so.5
#11 0x00007fcff0c7dad8 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#12 0x00007fcff0c87821 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#13 0x00007fd00a81e4b9 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#14 0x00007fd00e59f22b in QQuickItem::event(QEvent*) () at /usr/lib/libQt5Quick.so.5
#15 0x00007fcff0c7aa49 in  () at /usr/lib/qt/plugins/plasma/scriptengines/plasma_appletscript_declarative.so
#16 0x00007fd00b75ce0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#17 0x00007fd00b764581 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#18 0x00007fd00a7f1de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#19 0x00007fd00a7f456d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5
#20 0x00007fd00a846303 in  () at /usr/lib/libQt5Core.so.5
#21 0x00007fd0051ea587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#22 0x00007fd0051ea7f0 in  () at /usr/lib/libglib-2.0.so.0
#23 0x00007fd0051ea89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#24 0x00007fd00a84670f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#25 0x00007fd00a7f023a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#26 0x00007fd00a7f873c in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#27 0x000000000041c8b2 in  ()
#28 0x00007fd009e65291 in __libc_start_main () at /usr/lib/libc.so.6
#29 0x000000000041cc3a in _start ()

Reported using DrKonqi
Comment 1 Marco Martin 2016-10-28 14:29:30 UTC
can this be reproduced with more debug symbols for kdeplasma-addons and plasma-framework?
Comment 2 Marco Martin 2016-10-28 14:36:40 UTC
if that crash is at line 95 of comic.cpp, it means the applet is correctly installed, the comic dataengine not (weird package split by the distro?)

existence of that engine should be guarded against anyways
Comment 3 Marco Martin 2016-11-01 08:20:37 UTC
Git commit 03e7a6740f9914effc2989833c8571f850f28509 by Marco Martin.
Committed on 01/11/2016 at 08:20.
Pushed by mart into branch 'master'.

guard against dataengine missing

Summary:
this should never happen, but weird distribution packaging policies
can make this happen. At least don't crash the whole sesison

Test Plan:
with dataengine present still works, with dataengine plugin delteted
it still load without crashing, even if broken

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel

Tags: #plasma

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

M  +25   -17   applets/comic/comic.cpp
M  +3    -1    applets/comic/comicmodel.cpp

http://commits.kde.org/kdeplasma-addons/03e7a6740f9914effc2989833c8571f850f28509
Comment 4 Marco Martin 2016-11-01 08:21:36 UTC
Git commit 360036fb0bdcf2b29104972dcdce6f8b3880e3c7 by Marco Martin.
Committed on 01/11/2016 at 08:21.
Pushed by mart into branch 'Plasma/5.8'.

guard against dataengine missing

Summary:
this should never happen, but weird distribution packaging policies
can make this happen. At least don't crash the whole sesison

Test Plan:
with dataengine present still works, with dataengine plugin delteted
it still load without crashing, even if broken

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, plasma-devel

Tags: #plasma

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

M  +25   -17   applets/comic/comic.cpp
M  +3    -1    applets/comic/comicmodel.cpp

http://commits.kde.org/kdeplasma-addons/360036fb0bdcf2b29104972dcdce6f8b3880e3c7
Comment 5 Marco Martin 2016-11-01 11:14:25 UTC
moved as downstream, as we don't crash anymore, but the dataengine missing tells that the distribution didn't package it correctly and probably splitted the kdeplasma-addons repository in multiple packages, but didn't set the dataengine as a dependency of the applet
Comment 6 Marco Martin 2017-06-21 13:08:30 UTC
*** Bug 372313 has been marked as a duplicate of this bug. ***