Bug 422675

Summary: Plasma crashes when I try to open the settings window of a System Monitor widget after changing its display style
Product: [Plasma] plasmashell Reporter: Patrick Silva <bugseforuns>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: nate
Priority: NOR    
Version: master   
Target Milestone: 1.0   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Patrick Silva 2020-06-09 13:59:01 UTC
SUMMARY
crash reproducible on both Arch Linux (Plasma 5.19) and neon unstable.
The backtrace below was generated on neon unstable.

STEPS TO REPRODUCE
1. add a System Monitor widget to your desktop (I added the Disk Usage one)
2. right-click on the just added widget and open its settings window
3. select another "Display style" (I selected pie chart) and click on "Ok" button
(notice that the Disk Usage widget on desktop is empty)
4. right-click on the same widget and try to open its settings window (plasma crashes)

EXPECTED RESULT
no crash

SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 5.19.0
KDE Frameworks Version: 5.70.0
Qt Version: 5.15

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.19.80
KDE Frameworks Version: 5.71.0
Qt Version: 5.14.2


Thread 18 (Thread 0x7fff99e8c700 (LWP 27695)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fff78000b20, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff78004c40, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff99e8bd80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=this@entry=0x55555e4469d0) at thread/qthread.cpp:536
#6  0x00007ffff594bfc5 in QQmlThreadPrivate::run() (this=0x55555e4469d0) at qml/ftw/qqmlthread.cpp:155
#7  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x55555e4469d0)
    at thread/qthread_unix.cpp:342
#8  0x00007fffee6bd6db in start_thread (arg=0x7fff99e8c700) at pthread_create.c:463
#9  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7fff77fff700 (LWP 27659)):
#0  0x00007fffee6c39f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555e4e0804) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee6c39f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55555e4e07b0, cond=0x55555e4e07d8) at pthread_cond_wait.c:502
#2  0x00007fffee6c39f3 in __pthread_cond_wait (cond=0x55555e4e07d8, mutex=0x55555e4e07b0)
    at pthread_cond_wait.c:655
#3  0x00007ffff1da01db in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x55555e4e07b0) at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da01db in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x55555ad2d0b0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da0359 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x55555ad2d0b8, mutex=mutex@entry=0x55555ad2d0b0, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9f233 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x55555ad2d0a8)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9f233 in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x55555ad2d010) at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9f691 in QSGRenderThread::run() (this=0x55555ad2d010)
    at scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x55555ad2d010)
    at thread/qthread_unix.cpp:342
#10 0x00007fffee6bd6db in start_thread (arg=0x7fff77fff700) at pthread_create.c:463
#11 0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7fff9a7fd700 (LWP 27650)):
#0  0x00007fffee6c39f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555e21a044) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee6c39f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55555e219ff0, cond=0x55555e21a018) at pthread_cond_wait.c:502
#2  0x00007fffee6c39f3 in __pthread_cond_wait (cond=0x55555e21a018, mutex=0x55555e219ff0)
    at pthread_cond_wait.c:655
#3  0x00007ffff1da01db in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x55555e219ff0) at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da01db in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x555559e46d80, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da0359 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x555559e46d88, mutex=mutex@entry=0x555559e46d80, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9f233 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x555559e46d78)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9f233 in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x555559e46ce0) at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9f691 in QSGRenderThread::run() (this=0x555559e46ce0)
    at scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x555559e46ce0)
    at thread/qthread_unix.cpp:342
#10 0x00007fffee6bd6db in start_thread (arg=0x7fff9a7fd700) at pthread_create.c:463
#11 0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7fff9bfff700 (LWP 27637)):
#0  0x00007fffee6c39f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55555b6c6920) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee6c39f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x55555b6c68d0, cond=0x55555b6c68f8) at pthread_cond_wait.c:502
#2  0x00007fffee6c39f3 in __pthread_cond_wait (cond=0x55555b6c68f8, mutex=0x55555b6c68d0)
    at pthread_cond_wait.c:655
#3  0x00007ffff1da01db in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x55555b6c68d0) at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da01db in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x555555960210, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da0359 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x555555960218, mutex=mutex@entry=0x555555960210, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9f233 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x555555960208)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9f233 in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x555555960170) at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9f691 in QSGRenderThread::run() (this=0x555555960170)
    at scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x555555960170)
    at thread/qthread_unix.cpp:342
#10 0x00007fffee6bd6db in start_thread (arg=0x7fff9bfff700) at pthread_create.c:463
#11 0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7fffa17b6700 (LWP 27636)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fff9c0029e0, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fff9c000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffa17b5da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:536
#6  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x555559a2ca20)
    at thread/qthread_unix.cpp:342
#7  0x00007fffee6bd6db in start_thread (arg=0x7fffa17b6700) at pthread_create.c:463
#8  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fffbb7fe700 (LWP 27629)):
#0  0x00007fffee6c39f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555556925a10) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee6c39f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x5555569259c0, cond=0x5555569259e8) at pthread_cond_wait.c:502
#2  0x00007fffee6c39f3 in __pthread_cond_wait (cond=0x5555569259e8, mutex=0x5555569259c0)
    at pthread_cond_wait.c:655
#3  0x00007ffff1da01db in QWaitConditionPrivate::wait(QDeadlineTimer) (deadline=..., this=0x5555569259c0) at thread/qwaitcondition_unix.cpp:146
#4  0x00007ffff1da01db in QWaitCondition::wait(QMutex*, QDeadlineTimer) (this=<optimized out>, mutex=0x5555569259a0, deadline=...) at thread/qwaitcondition_unix.cpp:225
#5  0x00007ffff1da0359 in QWaitCondition::wait(QMutex*, unsigned long) (this=this@entry=0x5555569259a8, mutex=mutex@entry=0x5555569259a0, time=time@entry=18446744073709551615)
    at thread/qwaitcondition_unix.cpp:208
#6  0x00007ffff5e9f233 in QSGRenderThreadEventQueue::takeEvent(bool) (wait=true, this=0x555556925998)
    at scenegraph/qsgthreadedrenderloop.cpp:255
#7  0x00007ffff5e9f233 in QSGRenderThread::processEventsAndWaitForMore() (this=this@entry=0x555556925900) at scenegraph/qsgthreadedrenderloop.cpp:905
#8  0x00007ffff5e9f691 in QSGRenderThread::run() (this=0x555556925900)
    at scenegraph/qsgthreadedrenderloop.cpp:1000
#9  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x555556925900)
    at thread/qthread_unix.cpp:342
#10 0x00007fffee6bd6db in start_thread (arg=0x7fffbb7fe700) at pthread_create.c:463
#11 0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fffbbfff700 (LWP 27628)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fffb40064c0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffb4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffbbffed30, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=this@entry=0x5555567ed820) at thread/qthread.cpp:536
#6  0x00007ffff5de1b06 in QQuickPixmapReader::run() (this=0x5555567ed820)
    at util/qquickpixmapcache.cpp:987
#7  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x5555567ed820)
    at thread/qthread_unix.cpp:342
#8  0x00007fffee6bd6db in start_thread (arg=0x7fffbbfff700) at pthread_create.c:463
#9  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fffc290b700 (LWP 27627)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fffbc0029e0, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffbc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffc290ada0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:536
#6  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x555555c9a0a0)
    at thread/qthread_unix.cpp:342
#7  0x00007fffee6bd6db in start_thread (arg=0x7fffc290b700) at pthread_create.c:463
#8  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fffd1cd8700 (LWP 27624)):
#0  0x00007fffee6c39f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555555893fc8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  0x00007fffee6c39f3 in __pthread_cond_wait_common (abstime=0x0, mutex=0x555555893f78, cond=0x555555893fa0) at pthread_cond_wait.c:502
#2  0x00007fffee6c39f3 in __pthread_cond_wait (cond=0x555555893fa0, mutex=0x555555893f78)
    at pthread_cond_wait.c:655
#3  0x00007fffd3234ecb in cnd_wait (mtx=0x555555893f78, cond=0x555555893fa0)
    at ../include/c11/threads_posix.h:155
#4  0x00007fffd3234ecb in util_queue_thread_func (input=input@entry=0x555555eadb60)
    at ../src/util/u_queue.c:258
#5  0x00007fffd3234ac7 in impl_thrd_routine (p=<optimized out>) at ../include/c11/threads_posix.h:87
#6  0x00007fffee6bd6db in start_thread (arg=0x7fffd1cd8700) at pthread_create.c:463
#7  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fffe11e4700 (LWP 27619)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fffd4002de0, nfds=1, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffd4000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffe11e3d80, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=this@entry=0x55555594eb60) at thread/qthread.cpp:536
#6  0x00007ffff594bfc5 in QQmlThreadPrivate::run() (this=0x55555594eb60) at qml/ftw/qqmlthread.cpp:155
#7  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x55555594eb60)
    at thread/qthread_unix.cpp:342
#8  0x00007fffee6bd6db in start_thread (arg=0x7fffe11e4700) at pthread_create.c:463
#9  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffe305d700 (LWP 27615)):
#0  0x00007ffff1681bf9 in __GI___poll (fds=0x7fffdc002de0, nfds=3, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007fffeafa35c9 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fffeafa36dc in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff1fe87ac in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffdc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#4  0x00007ffff1f87d2a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffe305cd70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007ffff1d98757 in QThread::exec() (this=this@entry=0x7ffff3f0eda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:536
#6  0x00007ffff3c96555 in QDBusConnectionManager::run() (this=0x7ffff3f0eda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#7  0x00007ffff1d99c2c in QThreadPrivate::start(void*) (arg=0x7ffff3f0eda0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:342
#8  0x00007fffee6bd6db in start_thread (arg=0x7fffe305d700) at pthread_create.c:463
#9  0x00007ffff168e88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff7f98c80 (LWP 27611)):
#0  0x00007ffff57d966a in QQmlData::wasDeleted(QObject const*) (object=0x55555ae06170)
    at ../../include/QtQml/5.14.2/QtQml/private/../../../../../src/qml/qml/qqmldata_p.h:338
#1  0x00007ffff57d966a in QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, bool*, QQmlPropertyData**) (engine=engine@entry=0x55555591ac50, qmlContext=qmlContext@entry=0x55555aa221f0, object=0x55555ae06170, name=0x7fffe05a55a8, revisionMode=revisionMode@entry=QV4::QObjectWrapper::CheckRevision, hasProperty=hasProperty@entry=0x7fffffffca08, property=0x7fffffffca10) at jsruntime/qv4qobjectwrapper.cpp:360
#2  0x00007ffff57b17ab in QV4::QQmlContextWrapper::getPropertyAndBase(QV4::QQmlContextWrapper const*, QV4::PropertyKey, QV4::Value const*, bool*, QV4::Value*, QV4::Lookup*) (resource=<optimized out>, id=..., receiver=receiver@entry=0x0, hasProperty=hasProperty@entry=0x7fffffffca87, base=base@entry=0x0, lookup=0x0, lookup@entry=0x555559bac470) at jsruntime/qv4qmlcontext.cpp:316
#3  0x00007ffff57b1f75 in QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value*) (l=0x555559bac470, engine=0x55555591ac50, base=0x0)
    at jsruntime/qv4qmlcontext.cpp:481
#4  0x00007fffb8082482 in  ()
#5  0x0000000000000000 in  ()
Comment 1 Nate Graham 2020-09-10 19:34:51 UTC

*** This bug has been marked as a duplicate of bug 422229 ***