Bug 374280

Summary: Unresponsive widgets and subsequent plasma crash
Product: [Plasma] plasmashell Reporter: valentina <valentina.rolando84>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: crash CC: bhush94, jackneill1000, kde, notmart, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.5.5   
Target Milestone: 1.0   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description valentina 2016-12-29 10:14:01 UTC
Application: plasmashell (5.5.5)

Qt Version: 5.5.1
Operating System: Linux 4.4.0-57-generic x86_64
Distribution: Ubuntu 16.04.1 LTS

-- Information about the crash:
- What I was doing when the application crashed:
I was trying to add and set up the widgets with the "add panels" menu

- Unusual behavior I noticed:
This PC has a fresh install of Kubuntu, so this is the first time I use plasma 5. 
At every reboot the widget customization disappears. You can drag a widget for about 2 sec. then it freezes in a random position on the screen and it does not move/resize/setup anymore. In order I experienced a kcontact manager crash, nepomunk and then this.

This behaviour does not affect any other functionality (players, editors or other programs), just the window manager.

- Custom settings of the application:
I did not change any .config file

Distributor ID: Ubuntu
Description:    Ubuntu 16.04.1 LTS
Release:        16.04
Codename:       xenial

KDE plasma 5.5.5
QT version 5.5.1
Kernel 4.4.0-57-generic
64 bit

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f5ec62418c0 (LWP 1370))]

Thread 9 (Thread 0x7f5e07bfa700 (LWP 1636)):
#0  0x00007f5ec0948b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5ebd6de39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ec12757eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f5ec1039834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f5dfcf857d7 in KCupsConnection::run() () from /usr/lib/x86_64-linux-gnu/libkcupslib.so
#7  0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec012b6ba in start_thread (arg=0x7f5e07bfa700) at pthread_create.c:333
#9  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7f5e908e5700 (LWP 1493)):
#0  0x00007f5ec0948b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5ebd6de39c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ec12757eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f5ec1039834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f5ec4267ed6 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#7  0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec012b6ba in start_thread (arg=0x7f5e908e5700) at pthread_create.c:333
#9  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7f5e93fff700 (LWP 1445)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5ec5c86bd4 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007f5ec5c86c19 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007f5ec012b6ba in start_thread (arg=0x7f5e93fff700) at pthread_create.c:333
#4  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7f5e99b24700 (LWP 1400)):
#0  _dl_update_slotinfo (req_modid=1) at dl-tls.c:639
#1  0x00007f5ec61ffaac in update_get_addr (ti=0x7f5ec1469788) at dl-tls.c:802
#2  0x00007f5ec103d702 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#3  0x00007f5ec1275031 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f5ebd6dddd1 in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5ebd6de340 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#6  0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007f5ec12757eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007f5ec1039834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f5ec38e13c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#11 0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#12 0x00007f5ec012b6ba in start_thread (arg=0x7f5e99b24700) at pthread_create.c:333
#13 0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7f5e9b9a1700 (LWP 1399)):
#0  0x00007f5ebd722ae4 in g_mutex_unlock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5ebd6de391 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ec12757eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#4  0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f5ec1039834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f5ec38e13c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#7  0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec012b6ba in start_thread (arg=0x7f5e9b9a1700) at pthread_create.c:333
#9  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7f5ea0277700 (LWP 1395)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f5ea397b213 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007f5ea397a937 in ?? () from /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007f5ec012b6ba in start_thread (arg=0x7f5ea0277700) at pthread_create.c:333
#4  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7f5eaab46700 (LWP 1379)):
#0  0x00007f5ebd7226a0 in g_private_get () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f5ebd705070 in g_thread_self () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f5ebd6dd31c in g_main_context_acquire () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f5ebd6de255 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f5ec12757eb in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#6  0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#7  0x00007f5ec1039834 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec38e13c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5
#9  0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#10 0x00007f5ec012b6ba in start_thread (arg=0x7f5eaab46700) at pthread_create.c:333
#11 0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7f5eb1580700 (LWP 1376)):
#0  0x00007f5ec0948b5d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f5ec4a0dc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f5ec4a0f8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f5eb36ce629 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f5ec103e7be in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#5  0x00007f5ec012b6ba in start_thread (arg=0x7f5eb1580700) at pthread_create.c:333
#6  0x00007f5ec095482d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f5ec62418c0 (LWP 1370)):
[KCrash Handler]
#6  0x00007f5e925af778 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kquickcontrolsaddons/libkquickcontrolsaddonsplugin.so
#7  0x00007f5ec124dbaf in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007f5ec4304ece in QQuickWindowPrivate::renderSceneGraph(QSize const&) () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#9  0x00007f5ec42d519b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#10 0x00007f5ec42d62a1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#11 0x00007f5ec1d2205c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007f5ec1d27516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007f5ec121f38b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007f5ec12745ed in QTimerInfoList::activateTimers() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#15 0x00007f5ec1274af1 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#16 0x00007f5ebd6de1a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f5ebd6de400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f5ebd6de4ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f5ec12757cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007f5ec121cb4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#21 0x00007f5ec1224bec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x0000000000432d4a in main ()

Possible duplicates by query: bug 374274, bug 374261, bug 373680, bug 373560, bug 373307.

Reported using DrKonqi
Comment 1 Marco Martin 2016-12-30 10:28:53 UTC
is there anywhere a system monitor widget in the desktop/panel? (network monitor, cpu, memory usage, any that does that kind of graph) as the backtrace suggests a crash there
Comment 2 Marco Martin 2017-01-02 10:34:50 UTC
*** Bug 374285 has been marked as a duplicate of this bug. ***
Comment 3 Marco Martin 2017-02-17 15:46:12 UTC
*** Bug 375766 has been marked as a duplicate of this bug. ***
Comment 4 Marco Martin 2017-02-17 15:47:06 UTC
related to 349289 and possibly fixed by the threaded rendering fixes for the plotter component?
Comment 5 Marco Martin 2018-02-05 16:33:41 UTC
Git commit 2617a2ab9d472a78559f11ee8d430d951e3335f2 by Marco Martin.
Committed on 05/02/2018 at 16:33.
Pushed by mart into branch 'master'.

disconnect render() on window change

Summary:
when the window changes, the node will be deleted, and render()
will access an invalid pointer.
disconnect the render slot when the window change, as it
can't do anything useful until the next updatepaintnode.
Make the managedtexturenode actually do the management, as
textures were never deleted
Related: bug 388508, bug 365052, bug 343576

Test Plan:
The bug is easily reproducible without the patch, wasn't
able to reproduce it anymore with it

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, broulik, ngraham, plasma-devel, #frameworks

Tags: #plasma, #frameworks

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

M  +10   -2    src/qmlcontrols/kquickcontrolsaddons/plotter.cpp
M  +3    -1    src/qmlcontrols/kquickcontrolsaddons/plotter.h

https://commits.kde.org/kdeclarative/2617a2ab9d472a78559f11ee8d430d951e3335f2