Plasma 5 / KDE: Switching monitor off will cause some KDE malfunctions

PC connected to a monitor via HDMI (actually: Display port -> converter -> HDMI).

Since the very day i installed Leap on this PC, I noticed some problems that I could not reproduce, because I could not find the triggering cause. Basically the OSD of the audio plasma applet becomes a tiny square on the screen and windows get behind the bottom bar even if the latter is set as “fixed”.

xsession logs are a bit messy, so it took me some time to figure it out, but the triggering factor is actually… the monitor. When it is switched off and the on again, the problems arise and the only fix is rebooting the X server.

Here follow the logs



gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50486, resource id: 48234665, major code: 19 (DeleteProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50510, resource id: 48234665, major code: 19 (DeleteProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50511, resource id: 48234665, major code: 18 (ChangeProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50512, resource id: 48234665, major code: 19 (DeleteProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50513, resource id: 48234665, major code: 19 (DeleteProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50514, resource id: 48234665, major code: 19 (DeleteProperty), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50515, resource id: 48234665, major code: 7 (ReparentWindow), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50516, resource id: 48234665, major code: 6 (ChangeSaveSet), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50517, resource id: 48234665, major code: 2 (ChangeWindowAttributes), minor code
: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50518, resource id: 48234665, major code: 10 (UnmapWindow), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50562, resource id: 48234655, major code: 15 (QueryTree), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12492, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:08 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12522, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:09 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1472, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:09 kenshiro ciaone:[2675]: QPainter::begin: Paint device returned engine == 0, type: 2
gen 22 19:35:09 kenshiro ciaone:[2675]: QPainter::save: Painter not active
gen 22 19:35:09 kenshiro ciaone:[2675]: QPainter::translate: Painter not active
gen 22 19:35:09 kenshiro ciaone:[2675]: QPainter::scale: Painter not active
gen 22 19:35:09 kenshiro ciaone:[2675]: QPainter::worldTransform: Painter not active
(...)
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12634, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12635, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12636, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12637, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12638, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12639, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12640, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12641, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12642, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:11 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:11 kenshiro ciaone:[2675]: requesting unexisting screen 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1480, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(NULL) ( "none" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: resetDisplaySwitch()
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: outputConnectedChanged(): "HDMI2"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(NULL) ( "none" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(NULL) ( "none" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Change detected
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Applying config
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Calculating config ID for KScreen::Config(0xd16bd0)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Config ID: "d41d8cd98f00b204e9800998ecf8427e"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Applying ideal config
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "DP1"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "DP2"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "DP3"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "HDMI1"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "HDMI2"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: "VIRTUAL1"  Disabled
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Connected outputs:  0
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: doApplyConfig()
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Monitor for changes:  false
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Config applied
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Monitor for changes:  true
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Change detected
gen 22 19:35:11 kenshiro ciaone:[2675]: libkwinglutils: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
(...)
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 5 (BadAtom), sequence: 50752, resource id: 0, major code: 20 (GetProperty), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50763, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Saving current config to file
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: canBeAppled: There are no enabled screens, at least one required
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Config does not have at least one screen enabled, WILL NOT save this config, this is not what user wants.
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Change detected
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Saving current config to file
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: canBeAppled: There are no enabled screens, at least one required
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Config does not have at least one screen enabled, WILL NOT save this config, this is not what user wants.
gen 22 19:35:11 kenshiro ciaone:[2675]: libkwinglutils: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 5 (BadAtom), sequence: 50778, resource id: 0, major code: 20 (GetProperty), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 5 (BadAtom), sequence: 50779, resource id: 0, major code: 20 (GetProperty), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 5 (BadAtom), sequence: 50780, resource id: 0, major code: 20 (GetProperty), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 5 (BadAtom), sequence: 50781, resource id: 0, major code: 20 (GetProperty), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 12793, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 1482, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: QXcbConnection: XCB error: 3 (BadWindow), sequence: 50788, resource id: 0, major code: 21 (ListProperties), minor code: 0
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Requesting missing EDID for outputs (71)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Requesting missing EDID for outputs (71)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: resetDisplaySwitch()
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: outputConnectedChanged(): "HDMI2"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Calculating config ID for KScreen::Config(0xd16bd0)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Part of the Id:  "ee53296e80833d1b513b7c8f25fcc7cb"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Config ID: "6303616f7af21e8df85b7e659fd6846b"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Change detected
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Applying config
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Calculating config ID for KScreen::Config(0xd16bd0)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Part of the Id:  "ee53296e80833d1b513b7c8f25fcc7cb"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Config ID: "6303616f7af21e8df85b7e659fd6846b"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Calculating config ID for KScreen::Config(0xd16bd0)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Part of the Id:  "ee53296e80833d1b513b7c8f25fcc7cb"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Config ID: "6303616f7af21e8df85b7e659fd6846b"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Applying known config "6303616f7af21e8df85b7e659fd6846b"
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2" 
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Finding a mode for QSize(1920, 1080) @ 60
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded:         Found:  "74"   QSize(1920, 1080) @ 60
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(NULL) ( "none" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2" 
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: doApplyConfig()
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Monitor for changes:  false
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Config applied
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen.kded: Monitor for changes:  true
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Requesting missing EDID for outputs (71)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Requesting missing EDID for outputs (71)
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
gen 22 19:35:11 kenshiro ciaone:[2675]: kscreen: Primary output changed from KScreen::Output(Id: 71 , Name: "HDMI2" ) ( "HDMI2" ) to KScreen::Output(Id: 71 , Name: "HDMI2"  
) ( "HDMI2" )
(...)

Anyone else with the same problem?

Can anyone please do a test for me? Power the monitor off while logged on to KDE? And check the logs?

Still not fixed in Plasma 5.5.3.

On the bright side, when the problem happens, it can be “fixed” by killing and restarting plasmashell. :bad:

So long, and thanks for all the fish.

Also, sometimes plasma crashes.

Here’s the bug report:
https://bugs.kde.org/show_bug.cgi?id=357085

Could be video graphics specific.
On an nvidia gt 640 and nvidia gtx 650 ti openSUSE Leap here with
three monitors two connected via dvi and one connected to hdmi
turning off one or two monitors is still good.

What the graphic card of your machine? Sorry I
did not see it in your above post.

I did run 2 monitors off of plasma 5 for a few days on LEAP with a nvidia gt240 one connected via vga and the other one hdmi, I didn’t have any issues, what driver are you using novou is known to misbehave with plasma 5 try the propitiatory drivers.

The gfx card is an Intel. The CPU is a 6500T i5 (Skylake)

intel has issues with plasma 5
https://blog.martin-graesslin.com/blog/2015/10/some-thoughts-on-the-quality-of-plasma-5/
https://bugs.freedesktop.org/show_bug.cgi?id=86281

Nothing I’ve seen (crash reports included) seem to point to the intel drivers. As I said, it’s all happening in plasmashell.

not all hardware is the same, I’ve been running plasma 5 since 13.2 never had any issues, there are known bugs with intel’s driver and plasma 5 that are yet to be fixed, the problem is on intel’s side, you can try and disable all hardware acceleration and use software rendering, but … you’re better off using kde4 or lxqt or even a gtk desktop like lxde or mate or dare I say it gnome.

While I don’t have experience with a skylake gpu yet, it is my understanding that support for them wasn’t turned on for them until kernel 4.3 (unless you were passing the preliminary hardware boot flag)… Leap, IIRC (I’m using TW), uses a 4.1 kernel … So you’ll (unless you were using the boot flag or you’ve updated your kernel and didn’t tell us about that (and certainly none of us were behind your shoulder to see you do it either when you did)) likely be running with the generic, non KMS, driver and using llvmpipe for gl … you’re xsessions log indicates a gl related error and the kscreen errors may be indicative of improper kms/drm behaviour … and both of those things would be consistent with what I just mentioned.

You can confirm numerous ways what it going on with your graphic adapter’s driver stack (dmesg would tell you about the drm driver status; X log would tell you about the X driver being used; glxinfo would tell you which gl renderer is being used).

When I started this thread I was using kernel 4.1.x and stock Leap plasma. In the following days I have upgraded first to kernel 4.4, which solved some other problems, and yesterday to Plasma5.

While the overall stability is now acceptable, that pesky problem is still present (that and VTs disappearing after suspending the system).

Got a few updates today (kernel, Plasma, etc.). The problem is still there, here’s another crash report (quite different from the one reported yesterday):


#0  0x00007fe0c9d7eded in nanosleep () at /lib64/libc.so.6
#1  0x00007fe0c9d7ec84 in sleep () at /lib64/libc.so.6
#2  0x00007fe0d04d2bac in startProcessInternal(int, char const**, bool, bool) (argc=<optimized out>, argv=0x7fffef5ad270, waitAndExit=waitAndExit@entry=true, directly=direc
tly@entry=false)
    at /usr/src/debug/kcrash-5.18.0/src/kcrash.cpp:650
#3  0x00007fe0d04d322a in KCrash::startProcess(int, char const**, bool) (argc=argc@entry=21, argv=argv@entry=0x7fffef5ad270, waitAndExit=waitAndExit@entry=true) at /usr/src
/debug/kcrash-5.18.0/src/kcrash.cpp:616
#4  0x00007fe0d04d3675 in KCrash::defaultCrashHandler(int) (sig=<optimized out>)
    at /usr/src/debug/kcrash-5.18.0/src/kcrash.cpp:527
#5  0x00007fe0c9cfd200 in <signal handler called> () at /lib64/libc.so.6
#6  0x00007fe0cabef290 in QScreen::handle() const (this=0x0) at kernel/qscreen.cpp:112
#7  0x00007fe0bc45bbe9 in QXcbIntegration::createPlatformWindow(QWindow*) const (this=<optimized out>, window=0x2b36070) at qxcbintegration.cpp:196
#8  0x00007fe0cabcfe25 in QWindowPrivate::create(bool) (this=0x2bcada0, recursive=recursive@entry=false)
    at kernel/qwindow.cpp:392
#9  0x00007fe0cabd001b in QWindow::create() (this=this@entry=0x2b36070) at kernel/qwindow.cpp:548
#10 0x00007fe0cabd00a8 in QWindow::winId() const (this=0x2b36070) at kernel/qwindow.cpp:567
#11 0x00007fe0d029e175 in  () at /usr/lib64/libKF5PlasmaQuick.so.5
#12 0x00007fe0d02a09f9 in  () at /usr/lib64/libKF5PlasmaQuick.so.5
#13 0x00007fe0ca6a7cc6 in QMetaObject::activate(QObject*, int, int, void**) (sender=0x2c94f90, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) a
t kernel/qobject.cpp:3713
#14 0x00007fe0ca6a773f in QMetaObject::activate(QObject*, int, int, void**) (a=0x7fffef5add70, r=0x2c94f90, this=0x2c0dd10) at ../../src/corelib/kernel/qobject_impl.h:124
#15 0x00007fe0ca6a773f in QMetaObject::activate(QObject*, int, int, void**) (sender=0x100a2a0, signalOffset=<optimized out>, local_signal_index=<optimized out>, argv=0x0) a
t kernel/qobject.cpp:3698
#16 0x00007fe0ca6a7cc6 in QMetaObject::activate(QObject*, int, int, void**) (sender=sender@entry=0xf86c20, signalOffset=<optimized out>, local_signal_index=local_signal_ind
ex@entry=0, argv=argv@entry=0x0)
    at kernel/qobject.cpp:3713
#17 0x00007fe0ca6a82e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0xf86c20, m=m@entry=0x7fe0caac6860 <QTimer::staticMetaObject
>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3578
#18 0x00007fe0ca729a90 in QTimer::timeout(QTimer::QPrivateSignal) (this=this@entry=0xf86c20)
---Type <return> to continue, or q <return> to quit---up
    at .moc/moc_qtimer.cpp:197
#19 0x00007fe0ca6b4f22 in QTimer::timerEvent(QTimerEvent*) (this=0xf86c20, e=<optimized out>)
    at kernel/qtimer.cpp:247
#20 0x00007fe0ca6a88bc in QObject::event(QEvent*) (this=0xf86c20, e=<optimized out>) at kernel/qobject.cpp:1220
#21 0x00007fe0cb9f0e7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=
    0xe786a0, receiver=receiver@entry=0xf86c20, e=e@entry=0x7fffef5ae2d0) at kernel/qapplication.cpp:3716
#22 0x00007fe0cb9f5cc8 in QApplication::notify(QObject*, QEvent*) (this=
    0x7fffef5ae680, receiver=0xf86c20, e=0x7fffef5ae2d0) at kernel/qapplication.cpp:3499
#23 0x00007fe0ca677e95 in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7fffef5ae680, receiver=0xf86c20, event=event@entry=0x7fffef5ae2d0) at kernel/qcoreappl
ication.cpp:965
#24 0x00007fe0ca6ce77d in QTimerInfoList::activateTimers() (event=0x7fffef5ae2d0, receiver=<optimized out>)
    at ../../src/corelib/kernel/qcoreapplication.h:224
#25 0x00007fe0ca6ce77d in QTimerInfoList::activateTimers() (this=0xebfc90) at kernel/qtimerinfo_unix.cpp:637
#26 0x00007fe0ca6ceaa1 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>)
    at kernel/qeventdispatcher_glib.cpp:177
#27 0x00007fe0c6485c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#28 0x00007fe0c6485ed8 in  () at /usr/lib64/libglib-2.0.so.0
#29 0x00007fe0c6485f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#30 0x00007fe0ca6ced6c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=
    0xeb5df0, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#31 0x00007fe0ca675d53 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=
    0x7fffef5ae510, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#32 0x00007fe0ca67d8f6 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1229
#33 0x00007fe0cabc179c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1527
#34 0x00007fe0cb9ed605 in QApplication::exec() () at kernel/qapplication.cpp:2976
#35 0x0000000000436ab6 in main(int, char**) (argc=2, argv=<optimized out>)
    at /usr/src/debug/plasma-workspace-5.5.3/shell/main.cpp:179


Which is exactly this bug:
https://bugs.kde.org/show_bug.cgi?id=340267

Oh well…

I think this is your bug
https://bugreports.qt.io/browse/QTBUG-42985
it seams to be qt related and fixed in qt 5.6, as LEAP will probably stay with 5.5.x your best choice is to report it to the opensuse bugzilla and hope they backport the fix in Qt 5.5.1
https://bugzilla.opensuse.org/
you should describe your issue and provide a link to the qt and kde bugzilla’s the qt one has the fix, openSUSE usually backports fixes.

As I said, plasmashell goes nuts when a monitor is plugged and/or unplugged.

That’s my workaround:


#!/bin/bash




# Kill plasmashell when the monitor is unplugged, relaunch it when the monitor is plugged


HDMIEntry=/sys/class/drm/card0-HDMI-A-2/status


isstatuschanged() {
    local mystatus
    read -a < "$HDMIEntry" mystatus
    test "$1" = $mystatus
}




# $delay: polling delay


delay=.5
unset switch




while :;do
  read -a < "$HDMIEntry" switch
  echo "Status changed to $switch"
  (kbuildsycoca5 && kquitapp5 plasmashell) >/dev/null 2>&1


  if  "$switch" = "connected" ];then
    # restart plasmashell with DrKonqi disabled
    export KCRASH_AUTO_RESTARTED=1
    (kstart5 plasmashell -n & ) >/dev/null 2>&1


  fi


  while isstatuschanged $switch; do
    sleep $delay
  done


done



Which is ridiculous, but at least it makes KDE more or less usable. It’s a pity, Plasma5 could be great, but the way it is now it’s just a big disappointment.

I have installed gnome because the “if you switch the monitor off, KDE goes bananas” bug was a pain in the a**. Gnome is immune to the bug (that’s because it is not based on QT). There’s only a tiny problem: energy saving options are ignored, I set them to switch the monitor off after 2 minutes, but to no avail.

So I have KDE where the energy saving options work, but the desktop environment can’t cope with a monitor switched off, and Gnome where that bug is not present but the energy saving thingie can’t switch the monitor off.

That’s just great.

Bug report:
https://bugzilla.opensuse.org/show_bug.cgi?id=964353