I use a two-monitor setup, my primary monitor is connected via Displayport at a resolution of 3840x2160, and the secondary monitor via HDMI at 1280x1024. Installed software: KDE Frameworks 5.18.0, KDE Plasma 5.5.4, Qt 5.5.1 (with patch, see below), Nvidia proprietary driver 361.18 Symptom: when I turn off my primary monitor and later turn it back on again, plasmashell crashes and restarts. Previously, this also happened when I woke up my PC after monitor power management shut them down. This was fixed by a patch for Qt 5.5.1 as detailed in this upstream bugtracker: https://bugreports.qt.io/browse/QTBUG-42985. On the freenode channel #kde it was suggested that the crash after turning off the monitor is probably a KScreen bug. Reproducible: Always Steps to Reproduce: 1. Turn main monitor off 2. Turn main monitor on Actual Results: Plasmashell crashes, then restarts. Expected Results: Plasmashell does not crash. Here's a backtrace of the crash from DrKonqi: Application: Plasma (plasmashell), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [Current thread is 1 (Thread 0x7f30712007c0 (LWP 20489))] Thread 9 (Thread 0x7f305de66700 (LWP 20492)): #0 0x00007f306ba135bd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f306f9b6ac2 in poll (__timeout=-1, __nfds=1, __fds=0x7f305de65d00) at /usr/include/bits/poll2.h:46 #2 _xcb_conn_wait (c=c@entry=0x9159d0, cond=cond@entry=0x915a10, vector=vector@entry=0x0, count=count@entry=0x0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_conn.c:459 #3 0x00007f306f9b872f in xcb_wait_for_event (c=0x9159d0) at /var/tmp/portage/x11-libs/libxcb-1.11.1/work/libxcb-1.11.1/src/xcb_in.c:693 #4 0x00007f305fdb93d9 in QXcbEventReader::run (this=0x921d80) at qxcbconnection.cpp:1264 #5 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0x921d80) at thread/qthread_unix.cpp:331 #6 0x00007f306b224434 in start_thread (arg=0x7f305de66700) at pthread_create.c:334 #7 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 8 (Thread 0x7f305693c700 (LWP 20504)): #0 g_mutex_unlock (mutex=0x7f3050000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gthread-posix.c:1350 #1 0x00007f306787a4d0 in g_main_context_prepare (context=context@entry=0x7f3050000990, priority=priority@entry=0x7f305693bcb0) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3440 #2 0x00007f306787ae7b in g_main_context_iterate (context=context@entry=0x7f3050000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3820 #3 0x00007f306787b05c in g_main_context_iteration (context=0x7f3050000990, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f306c2e355b in QEventDispatcherGlib::processEvents (this=0x7f30500008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #5 0x00007f306c29553a in QEventLoop::exec (this=this@entry=0x7f305693bde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f306c0eeab4 in QThread::exec (this=this@entry=0xa04b70) at thread/qthread.cpp:503 #7 0x00007f306e888675 in QQmlThreadPrivate::run (this=0xa04b70) at qml/ftw/qqmlthread.cpp:141 #8 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0xa04b70) at thread/qthread_unix.cpp:331 #9 0x00007f306b224434 in start_thread (arg=0x7f305693c700) at pthread_create.c:334 #10 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 7 (Thread 0x7f304b6ce700 (LWP 20505)): #0 0x00007f306ba135bd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f306787af4c in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f3044002e70, timeout=<optimized out>, context=0x7f3044000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f3044000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3835 #3 0x00007f306787b05c in g_main_context_iteration (context=0x7f3044000990, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f306c2e355b in QEventDispatcherGlib::processEvents (this=0x7f30440008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #5 0x00007f306c29553a in QEventLoop::exec (this=this@entry=0x7f304b6cdde0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f306c0eeab4 in QThread::exec (this=this@entry=0xc56860) at thread/qthread.cpp:503 #7 0x00007f306e888675 in QQmlThreadPrivate::run (this=0xc56860) at qml/ftw/qqmlthread.cpp:141 #8 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0xc56860) at thread/qthread_unix.cpp:331 #9 0x00007f306b224434 in start_thread (arg=0x7f304b6ce700) at pthread_create.c:334 #10 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7f3049f1f700 (LWP 20506)): #0 0x00007f306ba135bd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f306787af4c in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f303c003070, timeout=<optimized out>, context=0x7f303c000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f303c000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3835 #3 0x00007f306787b05c in g_main_context_iteration (context=0x7f303c000990, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f306c2e355b in QEventDispatcherGlib::processEvents (this=0x7f303c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #5 0x00007f306c29553a in QEventLoop::exec (this=this@entry=0x7f3049f1ede0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f306c0eeab4 in QThread::exec (this=this@entry=0xbb3cc0) at thread/qthread.cpp:503 #7 0x00007f306e888675 in QQmlThreadPrivate::run (this=0xbb3cc0) at qml/ftw/qqmlthread.cpp:141 #8 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0xbb3cc0) at thread/qthread_unix.cpp:331 #9 0x00007f306b224434 in start_thread (arg=0x7f3049f1f700) at pthread_create.c:334 #10 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7f3043fff700 (LWP 20507)): #0 pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f3070c431a4 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7f3070d2a680 <QTWTF::pageheap_memory>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359 #2 0x00007f3070c431e9 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=<optimized out>) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464 #3 0x00007f306b224434 in start_thread (arg=0x7f3043fff700) at pthread_create.c:334 #4 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7f30418e6700 (LWP 20508)): #0 0x00007f306ba135bd in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f306787af4c in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f2fb8003120, timeout=<optimized out>, context=0x7f2fb8000990) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f2fb8000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3835 #3 0x00007f306787b05c in g_main_context_iteration (context=0x7f2fb8000990, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3901 #4 0x00007f306c2e355b in QEventDispatcherGlib::processEvents (this=0x7f2fb80008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420 #5 0x00007f306c29553a in QEventLoop::exec (this=this@entry=0x7f30418e5d90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f306c0eeab4 in QThread::exec (this=this@entry=0x117e8f0) at thread/qthread.cpp:503 #7 0x00007f306f20ef76 in QQuickPixmapReader::run (this=0x117e8f0) at util/qquickpixmapcache.cpp:760 #8 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0x117e8f0) at thread/qthread_unix.cpp:331 #9 0x00007f306b224434 in start_thread (arg=0x7f30418e6700) at pthread_create.c:334 #10 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f30410e5700 (LWP 20509)): #0 pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f306c0f376a in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x10fc2e0) at thread/qwaitcondition_unix.cpp:136 #2 QWaitCondition::wait (this=this@entry=0x11f9dd8, mutex=mutex@entry=0x11f9dd0, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007f306f28371e in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x11f9dc8) at scenegraph/qsgthreadedrenderloop.cpp:224 #4 QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x11f9d50) at scenegraph/qsgthreadedrenderloop.cpp:657 #5 0x00007f306f283fa3 in QSGRenderThread::run (this=0x11f9d50) at scenegraph/qsgthreadedrenderloop.cpp:686 #6 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0x11f9d50) at thread/qthread_unix.cpp:331 #7 0x00007f306b224434 in start_thread (arg=0x7f30410e5700) at pthread_create.c:334 #8 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f2f9bf5b700 (LWP 20519)): #0 pthread_cond_wait () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f306c0f376a in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x190a000) at thread/qwaitcondition_unix.cpp:136 #2 QWaitCondition::wait (this=this@entry=0x190a468, mutex=mutex@entry=0x190a460, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007f306f28371e in QSGRenderThreadEventQueue::takeEvent (wait=true, this=0x190a458) at scenegraph/qsgthreadedrenderloop.cpp:224 #4 QSGRenderThread::processEventsAndWaitForMore (this=this@entry=0x190a3e0) at scenegraph/qsgthreadedrenderloop.cpp:657 #5 0x00007f306f283fa3 in QSGRenderThread::run (this=0x190a3e0) at scenegraph/qsgthreadedrenderloop.cpp:686 #6 0x00007f306c0f30d2 in QThreadPrivate::start (arg=0x190a3e0) at thread/qthread_unix.cpp:331 #7 0x00007f306b224434 in start_thread (arg=0x7f2f9bf5b700) at pthread_create.c:334 #8 0x00007f306ba1c6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f30712007c0 (LWP 20489)): [KCrash Handler] #6 Plasma::Applet::actions (this=this@entry=0x0) at /var/tmp/portage/kde-frameworks/plasma-5.18.0/work/plasma-framework-5.18.0/src/plasma/applet.cpp:575 #7 0x0000000000454a02 in ShellCorona::addOutput (this=this@entry=0x9ee760, output=...) at /var/tmp/portage/kde-plasma/plasma-workspace-5.5.4/work/plasma-workspace-5.5.4/shell/shellcorona.cpp:901 #8 0x0000000000454b8f in ShellCorona::outputEnabledChanged (this=0x9ee760) at /var/tmp/portage/kde-plasma/plasma-workspace-5.5.4/work/plasma-workspace-5.5.4/shell/shellcorona.cpp:795 #9 0x00007f306c2be217 in QtPrivate::QSlotObjectBase::call (a=0x7ffd6654c7c0, r=0x9ee760, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124 #10 QMetaObject::activate (sender=0x9c0d80, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=<optimized out>) at kernel/qobject.cpp:3698 #11 0x00007f30703bfe71 in KScreen::Output::apply (this=0x9c0d80, other=...) at /var/tmp/portage/kde-plasma/libkscreen-5.5.4/work/libkscreen-5.5.4/src/output.cpp:516 #12 0x00007f30703af805 in KScreen::Config::apply (this=this@entry=0xc80d00, other=...) at /var/tmp/portage/kde-plasma/libkscreen-5.5.4/work/libkscreen-5.5.4/src/config.cpp:343 #13 0x00007f30703b4f09 in KScreen::ConfigMonitor::Private::updateConfigs (this=this@entry=0xe71060, newConfig=...) at /var/tmp/portage/kde-plasma/libkscreen-5.5.4/work/libkscreen-5.5.4/src/configmonitor.cpp:174 #14 0x00007f30703b6afd in KScreen::ConfigMonitor::Private::edidReady (this=0xe71060, watcher=<optimized out>) at /var/tmp/portage/kde-plasma/libkscreen-5.5.4/work/libkscreen-5.5.4/src/configmonitor.cpp:159 #15 0x00007f306c2be217 in QtPrivate::QSlotObjectBase::call (a=0x7ffd6654cbb0, r=0xe71060, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124 #16 QMetaObject::activate (sender=0x25c7140, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd6654cbb0) at kernel/qobject.cpp:3698 #17 0x00007f306c2beba7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f3071378140 <QDBusPendingCallWatcher::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd6654cbb0) at kernel/qobject.cpp:3578 #18 0x00007f307135d0ff in QDBusPendingCallWatcher::finished (this=<optimized out>, _t1=0x25c7140) at .moc/moc_qdbuspendingcall.cpp:148 #19 0x00007f307135e7d5 in QDBusPendingCallWatcherPrivate::_q_finished (this=<optimized out>) at qdbuspendingcall.cpp:488 #20 QDBusPendingCallWatcher::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qdbuspendingcall.cpp:80 #21 0x00007f306c2bf3b1 in QObject::event (this=0x25c7140, e=<optimized out>) at kernel/qobject.cpp:1239 #22 0x00007f306ccdb92c in QApplicationPrivate::notify_helper (this=this@entry=0x9091f0, receiver=receiver@entry=0x25c7140, e=e@entry=0x8fc5f0) at kernel/qapplication.cpp:3716 #23 0x00007f306cce0dae in QApplication::notify (this=0x7ffd6654d2a0, receiver=0x25c7140, e=0x8fc5f0) at kernel/qapplication.cpp:3499 #24 0x00007f306c29664d in QCoreApplication::notifyInternal (this=0x7ffd6654d2a0, receiver=0x25c7140, event=event@entry=0x8fc5f0) at kernel/qcoreapplication.cpp:965 #25 0x00007f306c2991d6 in QCoreApplication::sendEvent (event=0x8fc5f0, receiver=<optimized out>) at kernel/qcoreapplication.h:224 #26 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8ff340) at kernel/qcoreapplication.cpp:1593 #27 0x00007f306c2996b8 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451 #28 0x00007f306c2e34c3 in postEventSourceDispatch (s=0x94c140) at kernel/qeventdispatcher_glib.cpp:271 #29 0x00007f306787ad57 in g_main_dispatch (context=0x7f30580016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3154 #30 g_main_context_dispatch (context=context@entry=0x7f30580016f0) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3769 #31 0x00007f306787afb0 in g_main_context_iterate (context=context@entry=0x7f30580016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3840 #32 0x00007f306787b05c in g_main_context_iteration (context=0x7f30580016f0, may_block=may_block@entry=1) at /var/tmp/portage/dev-libs/glib-2.46.2-r1/work/glib-2.46.2/glib/gmain.c:3901 #33 0x00007f306c2e353f in QEventDispatcherGlib::processEvents (this=0x94e760, flags=...) at kernel/qeventdispatcher_glib.cpp:418 #34 0x00007f306c29553a in QEventLoop::exec (this=this@entry=0x7ffd6654d140, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #35 0x00007f306c29c6dc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229 #36 0x00007f306c5b1f8c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1527 #37 0x00007f306ccd7d65 in QApplication::exec () at kernel/qapplication.cpp:2976 #38 0x000000000043228a in main (argc=4, argv=<optimized out>) at /var/tmp/portage/kde-plasma/plasma-workspace-5.5.4/work/plasma-workspace-5.5.4/shell/main.cpp:181
*** This bug has been marked as a duplicate of bug 351777 ***