Bug 365052

Summary: plasma crashed after removing panel due to widgets dissapearing while still showing as loaded
Product: [Frameworks and Libraries] frameworks-kdeclarative Reporter: Sherwin <scdnewson>
Component: generalAssignee: Marco Martin <notmart>
Status: RESOLVED FIXED    
Severity: crash CC: bhush94, kdelibs-bugs, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Sherwin 2016-07-03 23:11:56 UTC
Application: plasmashell (5.5.5)

Qt Version: 5.5.1
Operating System: Linux 4.1.26-21-default x86_64
Distribution: "openSUSE Leap 42.1 (x86_64)"

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

- Unusual behavior I noticed:
Cpu widget dissapeared when moving towards the top of screen or top panel. I added cpu widget again and again it vanished after moving it towards top panel, I tried again and the widget vanished, i then noticed that 3 cpu widgets where showing as loaded but not visible on the desktop. I removed the top panel and noticed one of the cpu widgets was on a top panel under the one i removed. I didnt create 2 panels so it must have jumped there somehow. It was then plasma crashed. Yet still widgets were showing to cpu widgets were loaded byut yet none visible on the desktop or either any panel. I removed all visible panels then check widgets and all cpu widgets where now unloaded

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

Thread 18 (Thread 0x7efd85236700 (LWP 1559)):
#0  0x00007efd93933bbd in poll () at /lib64/libc.so.6
#1  0x00007efd988da422 in  () at /usr/lib64/libxcb.so.1
#2  0x00007efd988dc00f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007efd879ef3c9 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x14b7890) at thread/qthread_unix.cpp:331
#5  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 17 (Thread 0x7efd7dfbe700 (LWP 1575)):
#0  0x00007efd9392fc8d in read () at /lib64/libc.so.6
#1  0x00007efd8ffe3b60 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007efd8ffa2999 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007efd8ffa2df8 in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efd780008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#6  0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efd7dfbddf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#7  0x00007efd9402d61a in QThread::exec() (this=this@entry=0x158afc0) at thread/qthread.cpp:503
#8  0x00007efd97377e18 in QQmlThreadPrivate::run() (this=0x158afc0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/qml/qml/ftw/qqmlthread.cpp:141
#9  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x158afc0) at thread/qthread_unix.cpp:331
#10 0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#11 0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 16 (Thread 0x7efd6f43f700 (LWP 1590)):
#0  0x00007efd9390dd4d in nanosleep () at /lib64/libc.so.6
#1  0x00007efd93935974 in usleep () at /lib64/libc.so.6
#2  0x00007efd768eedf0 in  () at /usr/X11R6/lib64/modules/dri/fglrx_dri.so
#3  0x00007efd75fbd932 in  () at /usr/X11R6/lib64/modules/dri/fglrx_dri.so
#4  0x00007efd75fbd985 in  () at /usr/X11R6/lib64/modules/dri/fglrx_dri.so
#5  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 15 (Thread 0x7efd6dc1e700 (LWP 1594)):
#0  0x00007ffda16b1b26 in clock_gettime ()
#1  0x00007efd93948c3d in clock_gettime () at /lib64/libc.so.6
#2  0x00007efd940e37d6 in qt_gettime() (ts=0x7efd6dc1db80, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  0x00007efd940e37d6 in qt_gettime() (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:156
#4  0x00007efd940e37d6 in qt_gettime() () at tools/qelapsedtimer_unix.cpp:165
#5  0x00007efd942633b9 in QTimerInfoList::updateCurrentTime() (this=this@entry=0x7efd60002cd0) at kernel/qtimerinfo_unix.cpp:84
#6  0x00007efd94263945 in QTimerInfoList::timerWait(timespec&) (this=0x7efd60002cd0, tm=...) at kernel/qtimerinfo_unix.cpp:381
#7  0x00007efd94264b5e in timerSourcePrepare(GSource*, gint*) (timeout=0x7efd6dc1dc34, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:127
#8  0x00007efd94264b5e in timerSourcePrepare(GSource*, gint*) (source=<optimized out>, timeout=0x7efd6dc1dc34) at kernel/qeventdispatcher_glib.cpp:160
#9  0x00007efd8ffa24ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#10 0x00007efd8ffa2d80 in  () at /usr/lib64/libglib-2.0.so.0
#11 0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#12 0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efd600008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#13 0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efd6dc1ddf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007efd9402d61a in QThread::exec() (this=this@entry=0x1720f50) at thread/qthread.cpp:503
#15 0x00007efd97377e18 in QQmlThreadPrivate::run() (this=0x1720f50) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/qml/qml/ftw/qqmlthread.cpp:141
#16 0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x1720f50) at thread/qthread_unix.cpp:331
#17 0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#18 0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 14 (Thread 0x7efd67fff700 (LWP 1596)):
#0  0x00007efd93933bbd in poll () at /lib64/libc.so.6
#1  0x00007efd8ffa2e64 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efd5c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efd67ffedf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007efd9402d61a in QThread::exec() (this=this@entry=0x204aec0) at thread/qthread.cpp:503
#6  0x00007efd97377e18 in QQmlThreadPrivate::run() (this=0x204aec0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/qml/qml/ftw/qqmlthread.cpp:141
#7  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x204aec0) at thread/qthread_unix.cpp:331
#8  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#9  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 13 (Thread 0x7efd669be700 (LWP 1602)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd99b7286b in  () at /usr/lib64/libQt5Script.so.5
#2  0x00007efd99b72899 in  () at /usr/lib64/libQt5Script.so.5
#3  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 12 (Thread 0x7efcdbdf6700 (LWP 1617)):
#0  0x00007efd93933bbd in poll () at /lib64/libc.so.6
#1  0x00007efd8ffa2e64 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efcd40008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#4  0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efcdbdf5db0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#5  0x00007efd9402d61a in QThread::exec() (this=this@entry=0x19b0d80) at thread/qthread.cpp:503
#6  0x00007efd97f22282 in QQuickPixmapReader::run() (this=0x19b0d80) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/util/qquickpixmapcache.cpp:760
#7  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x19b0d80) at thread/qthread_unix.cpp:331
#8  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#9  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 11 (Thread 0x7efcdae0b700 (LWP 1622)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x1924a90) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x1578088, mutex=mutex@entry=0x1578080, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x1578078) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x1578000) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x1578000) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x1578000) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 10 (Thread 0x7efcc6326700 (LWP 1627)):
#0  0x00007ffda16b1b26 in clock_gettime ()
#1  0x00007efd93948c3d in clock_gettime () at /lib64/libc.so.6
#2  0x00007efd940e37d6 in qt_gettime() (ts=0x7efcc6325b70, clock=<optimized out>) at tools/qelapsedtimer_unix.cpp:105
#3  0x00007efd940e37d6 in qt_gettime() (frac=<synthetic pointer>, sec=<synthetic pointer>) at tools/qelapsedtimer_unix.cpp:156
#4  0x00007efd940e37d6 in qt_gettime() () at tools/qelapsedtimer_unix.cpp:165
#5  0x00007efd942633b9 in QTimerInfoList::updateCurrentTime() (this=this@entry=0x7efcc00030d0) at kernel/qtimerinfo_unix.cpp:84
#6  0x00007efd94263945 in QTimerInfoList::timerWait(timespec&) (this=0x7efcc00030d0, tm=...) at kernel/qtimerinfo_unix.cpp:381
#7  0x00007efd9426570c in idleTimerSourcePrepare(GSource*, gint*) (timeout=0x7efcc6325c14, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:127
#8  0x00007efd9426570c in idleTimerSourcePrepare(GSource*, gint*) (source=<optimized out>, timeout=0x7efcc6325c14) at kernel/qeventdispatcher_glib.cpp:207
#9  0x00007efd8ffa24ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#10 0x00007efd8ffa2d80 in  () at /usr/lib64/libglib-2.0.so.0
#11 0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#12 0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efcc00008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#13 0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efcc6325dd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#14 0x00007efd9402d61a in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#15 0x00007efcc7998cf7 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so
#16 0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x2dc3210) at thread/qthread_unix.cpp:331
#17 0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#18 0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 9 (Thread 0x7efcb0839700 (LWP 1879)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x537b470) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x5302ef8, mutex=mutex@entry=0x5302ef0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x5302ee8) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x5302e70) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x5302e70) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x5302e70) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7efca7cf8700 (LWP 1881)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x4db3790) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x4db40a8, mutex=mutex@entry=0x4db40a0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x4db4098) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x4db4020) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x4db4020) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x4db4020) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7efcb2946700 (LWP 1884)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x60e3d80) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x63cf008, mutex=mutex@entry=0x63cf000, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x63ceff8) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x63cef80) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x63cef80) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x63cef80) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7efc8cde6700 (LWP 1893)):
#0  0x00007efd8ffe4cf9 in g_mutex_lock () at /usr/lib64/libglib-2.0.so.0
#1  0x00007efd8ffa24b9 in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#2  0x00007efd8ffa2d80 in  () at /usr/lib64/libglib-2.0.so.0
#3  0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#4  0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efc880008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efc8cde5e10, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007efd9402d61a in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x6240db0) at thread/qthread_unix.cpp:331
#8  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#9  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7efcbedfb700 (LWP 2015)):
[KCrash Handler]
#6  0x00007efd94a39025 in QOpenGLShaderProgram::setUniformValue(int, QMatrix4x4 const&) () at /usr/lib64/libQt5Gui.so.5
#7  0x00007efd64e60917 in  () at /usr/lib64/qt5/qml/org/kde/kquickcontrolsaddons/libkquickcontrolsaddonsplugin.so
#8  0x00007efd9423d73f in QMetaObject::activate(QObject*, int, int, void**) (a=0x7efcbedfabe0, r=0x3bb8d30, this=0x7efc640f7390) at ../../src/corelib/kernel/qobject_impl.h:124
#9  0x00007efd9423d73f in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0x9ace1d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0) at kernel/qobject.cpp:3698
#10 0x00007efd9423e2e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x9ace1d0, m=m@entry=0x7efd983dbbe0 <QQuickWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=6, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#11 0x00007efd97fbb583 in QQuickWindow::beforeRendering() (this=this@entry=0x9ace1d0) at .moc/moc_qquickwindow.cpp:466
#12 0x00007efd97fbe73e in QQuickWindowPrivate::renderSceneGraph(QSize const&) (this=this@entry=0x9ace550, size=...) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/items/qquickwindow.cpp:368
#13 0x00007efd97f93ba0 in QSGRenderThread::syncAndRender() (this=this@entry=0x9ad7af0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:596
#14 0x00007efd97f9553c in QSGRenderThread::run() (this=0x9ad7af0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:677
#15 0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x9ad7af0) at thread/qthread_unix.cpp:331
#16 0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#17 0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7efcbdffb700 (LWP 2026)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x3e8a230) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x630abe8, mutex=mutex@entry=0x630abe0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x630abd8) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x630ab60) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x630ab60) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x630ab60) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7efc875bd700 (LWP 2075)):
#0  0x00007efd9402abfa in QMutex::lock() (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=@0x62e3a58: 0x1) at ../../src/corelib/arch/qatomic_x86.h:259
#1  0x00007efd9402abfa in QMutex::lock() (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, _q_value=@0x62e3a58: 0x1) at ../../src/corelib/thread/qgenericatomic.h:166
#2  0x00007efd9402abfa in QMutex::lock() (currentValue=<synthetic pointer>, newValue=0x1, expectedValue=0x0, this=0x62e3a58, this@entry=0x0) at ../../src/corelib/thread/qbasicatomic.h:278
#3  0x00007efd9402abfa in QMutex::lock() (current=<synthetic pointer>, this=0x62e3a58, this@entry=0x0) at thread/qmutex.h:82
#4  0x00007efd9402abfa in QMutex::lock() (this=this@entry=0x62e3a58) at thread/qmutex.cpp:212
#5  0x00007efd94264cb5 in postEventSourcePrepare(GSource*, gint*) (m=0x62e3a58, this=<synthetic pointer>) at ../../src/corelib/thread/qmutex.h:128
#6  0x00007efd94264cb5 in postEventSourcePrepare(GSource*, gint*) (this=0x62e3a30) at ../../src/corelib/thread/qthread_p.h:240
#7  0x00007efd94264cb5 in postEventSourcePrepare(GSource*, gint*) (s=0x7efc7c100310, timeout=0x7efc875bcc34) at kernel/qeventdispatcher_glib.cpp:254
#8  0x00007efd8ffa24ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#9  0x00007efd8ffa2d80 in  () at /usr/lib64/libglib-2.0.so.0
#10 0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#11 0x00007efd94264d8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7efc7c0a1240, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#12 0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7efc875bcdf0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#13 0x00007efd9402d61a in QThread::exec() (this=this@entry=0x90b0a50) at thread/qthread.cpp:503
#14 0x00007efd97377e18 in QQmlThreadPrivate::run() (this=0x90b0a50) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/qml/qml/ftw/qqmlthread.cpp:141
#15 0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x90b0a50) at thread/qthread_unix.cpp:331
#16 0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#17 0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7efcbd5aa700 (LWP 2076)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x41a3f00) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x8691638, mutex=mutex@entry=0x8691630, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (wait=true, this=0x8691628) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:224
#4  0x00007efd97f951cb in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x86915b0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:657
#5  0x00007efd97f95663 in QSGRenderThread::run() (this=0x86915b0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:686
#6  0x00007efd9403232f in QThreadPrivate::start(void*) (arg=0x86915b0) at thread/qthread_unix.cpp:331
#7  0x00007efd9312f0a4 in start_thread () at /lib64/libpthread.so.0
#8  0x00007efd9393bfed in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7efd9a4a97c0 (LWP 1556)):
#0  0x00007efd9313303f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (time=18446744073709551615, this=0x9acbc70) at thread/qwaitcondition_unix.cpp:136
#2  0x00007efd9403334b in QWaitCondition::wait(QMutex*, unsigned long) (this=<optimized out>, mutex=0x9ad7b30, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208
#3  0x00007efd97f96a7e in QSGThreadedRenderLoop::polishAndSync(QSGThreadedRenderLoop::Window*, bool) (this=this@entry=0x1ef04e0, w=<optimized out>, inExpose=inExpose@entry=false) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1150
#4  0x00007efd97f9741a in QSGThreadedRenderLoop::handleUpdateRequest(QQuickWindow*) (this=0x1ef04e0, window=0x9ace1d0) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:977
#5  0x00007efd97fca0b7 in QQuickWindow::event(QEvent*) (this=this@entry=0x9ace1d0, e=e@entry=0x7ffda161f500) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/items/qquickwindow.cpp:1400
#6  0x0000000000448b6b in PanelView::event(QEvent*) (this=0x9ace1d0, e=0x7ffda161f500) at /usr/src/debug/plasma-workspace-5.5.5/shell/panelview.cpp:844
#7  0x00007efd9559ae7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x149b700, receiver=receiver@entry=0x9ace1d0, e=e@entry=0x7ffda161f500) at kernel/qapplication.cpp:3716
#8  0x00007efd9559fcc8 in QApplication::notify(QObject*, QEvent*) (this=0x7ffda161fce0, receiver=0x9ace1d0, e=0x7ffda161f500) at kernel/qapplication.cpp:3499
#9  0x00007efd9420de95 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7ffda161fce0, receiver=0x9ace1d0, event=0x7ffda161f500) at kernel/qcoreapplication.cpp:965
#10 0x00007efd9476b9d0 in QWindowPrivate::deliverUpdateRequest() () at /usr/lib64/libQt5Gui.so.5
#11 0x00007efd9476bdd9 in QWindow::event(QEvent*) () at /usr/lib64/libQt5Gui.so.5
#12 0x00007efd97fca0d1 in QQuickWindow::event(QEvent*) (this=this@entry=0x9ace1d0, e=e@entry=0x7ffda161f930) at /usr/src/debug/qtdeclarative-opensource-src-5.5.1/src/quick/items/qquickwindow.cpp:1413
#13 0x0000000000448b6b in PanelView::event(QEvent*) (this=0x9ace1d0, e=0x7ffda161f930) at /usr/src/debug/plasma-workspace-5.5.5/shell/panelview.cpp:844
#14 0x00007efd9559ae7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x149b700, receiver=receiver@entry=0x9ace1d0, e=e@entry=0x7ffda161f930) at kernel/qapplication.cpp:3716
#15 0x00007efd9559fcc8 in QApplication::notify(QObject*, QEvent*) (this=0x7ffda161fce0, receiver=0x9ace1d0, e=0x7ffda161f930) at kernel/qapplication.cpp:3499
#16 0x00007efd9420de95 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7ffda161fce0, receiver=0x9ace1d0, event=event@entry=0x7ffda161f930) at kernel/qcoreapplication.cpp:965
#17 0x00007efd9426477d in QTimerInfoList::activateTimers() (event=0x7ffda161f930, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:224
#18 0x00007efd9426477d in QTimerInfoList::activateTimers() (this=0x14d7f20) at kernel/qtimerinfo_unix.cpp:637
#19 0x00007efd94264aa1 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:177
#20 0x00007efd8ffa2c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#21 0x00007efd8ffa2ed8 in  () at /usr/lib64/libglib-2.0.so.0
#22 0x00007efd8ffa2f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#23 0x00007efd94264d6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x14d7c90, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#24 0x00007efd9420bd53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffda161fb70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#25 0x00007efd942138f6 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1229
#26 0x0000000000436b3d in main(int, char**) (argc=2, argv=<optimized out>) at /usr/src/debug/plasma-workspace-5.5.5/shell/main.cpp:184

Reported using DrKonqi
Comment 1 David Edmundson 2016-07-04 13:15:46 UTC
Crash seems to be in the plotter
Comment 2 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 374280, 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