I have a script running that detects when I (dis)connect my two office monitors (using DisplayPort MST), and changes the xrandr configuration accordingly. However, plasmashell crashes ~50% of the times the xrandr settings are changed. I use the following xrandr commands: - for enabling 2 external monitors and the laptop's LVDS: /usr/bin/xrandr --output VGA-0 --off --output DP-4.8 --mode 2560x1440 --pos 2560x0 --rotate normal --output LVDS-0 --mode 1920x1080 --pos 5120x360 --rotate normal --output DP-4.1.8 --mode 2560x1440 --pos 0x0 --rotate normal --output DP-5 --off --output DP-4 --off --output DP-3 --off --output DP-2 --off --output DP-1 --off --output DP-0 --off - for enabling just the laptop's LVDS: /usr/bin/xrandr --output VGA-0 --off --output LVDS-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-4.8 --off --output DP-4.1.8 --off --output DP-5 --off --output DP-4 --off --output DP-3 --off --output DP-2 --off --output DP-1 --off --output DP-0 --off Reproducible: Sometimes Steps to Reproduce: 1. connect/disconnect external display 2. activate manual configuration using xrandr Actual Results: Display settings change as expected, but plasmashell crashes ~50% of the time Expected Results: plasmashell behaving From the following stack trace (too long to fully include, will try to upload it after filing this bug), it appears that kscreen is the culprit: Application: plasmashell (plasmashell), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Current thread is 1 (Thread 0x7fe6f4157880 (LWP 19894))] Thread 60 (Thread 0x7fe6de32c700 (LWP 19896)): #0 0x00007fe6eef6a3dd in poll () at ../sysdeps/unix/syscall-template.S:81 #1 0x00007fe6f1733b72 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007fe6f173564f in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fe6e0efaf79 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so #4 0x00007fe6ef5f1e4e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fe6ee8020a5 in start_thread (arg=0x7fe6de32c700) at pthread_create.c:309 #6 0x00007fe6eef7488d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 (...) Thread 3 (Thread 0x7fe52b7ff700 (LWP 20002)): #0 0x00007fe6eb8a274e in g_main_context_check () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #1 0x00007fe6eb8a2e83 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fe6eb8a2ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fe6ef88228c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007fe6ef8288d2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fe6ef5ed074 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fe6f3e1c256 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #7 0x00007fe6ef5f1e4e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fe6ee8020a5 in start_thread (arg=0x7fe52b7ff700) at pthread_create.c:309 #9 0x00007fe6eef7488d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 2 (Thread 0x7fe52a1ed700 (LWP 20003)): #0 0x00007fe6ef882291 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #1 0x00007fe6ef8288d2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007fe6ef5ed074 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007fe6f3e1c256 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #4 0x00007fe6ef5f1e4e in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fe6ee8020a5 in start_thread (arg=0x7fe52a1ed700) at pthread_create.c:309 #6 0x00007fe6eef7488d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111 Thread 1 (Thread 0x7fe6f4157880 (LWP 19894)): [KCrash Handler] #5 0x00007fe6f1f778ef in KScreen::Config::output(int) const () from /usr/lib/x86_64-linux-gnu/libKF5Screen.so.6 #6 0x00007fe6f1f804f0 in KScreen::ConfigMonitor::Private::edidReady(QDBusPendingCallWatcher*) () from /usr/lib/x86_64-linux-gnu/libKF5Screen.so.6 #7 0x00007fe6ef859fea in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fe6f42c1e2f in QDBusPendingCallWatcher::finished(QDBusPendingCallWatcher*) () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #9 0x00007fe6f42c3535 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #10 0x00007fe6ef85b7ba in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #11 0x00007fe6f0129d3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007fe6f012f330 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #13 0x00007fe6ef82b03b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007fe6ef82d07b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007fe6ef881e83 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x00007fe6eb8a2c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #17 0x00007fe6eb8a2f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #18 0x00007fe6eb8a2ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #19 0x00007fe6ef882277 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #20 0x00007fe6ef8288d2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #21 0x00007fe6ef83037c in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #22 0x000000000042fccf in main () Possibly related to #343202 #339708, but these bugs show very different stack traces. I've installed the kscreen debugging symbols, but for some reason the stack trace won't show more details.
Created attachment 91044 [details] Stacktrace
*** Bug 344311 has been marked as a duplicate of this bug. ***
Note that the duplicate bug 344311 also has a stack trace attached to it - not sure whether that one might reveal more or other details.
Should be fixed in Plasma 5.2.1 *** This bug has been marked as a duplicate of bug 343482 ***