Bug 342675 - screens turns black and plasma session whiped out after kscreen got installed
Summary: screens turns black and plasma session whiped out after kscreen got installed
Status: RESOLVED FIXED
Alias: None
Product: KScreen
Classification: Plasma
Component: common (other bugs)
Version First Reported In: 5.1.95
Platform: Gentoo Packages Linux
: NOR grave
Target Milestone: ---
Assignee: Daniel Vrátil
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-09 22:14 UTC by kde
Modified: 2016-02-09 09:14 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.2.2
Sentry Crash Report:


Attachments
gdb output after screen turned black (3.74 KB, text/plain)
2015-01-19 14:05 UTC, kde
Details
.xsession-errors lines directly after installing kscreen (X not stopped after it) (2.56 KB, text/plain)
2015-01-19 14:06 UTC, kde
Details
gdb trace of kded5 5.6.0-0ubuntu1 (51.40 KB, text/plain)
2015-01-30 12:46 UTC, Jürgen Scholz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description kde 2015-01-09 22:14:34 UTC
This is an extract of my .xsession-errors file after kscreen got installed on my system. The screen just turns black and I can't do much anymore.

new: "kcm_kscreen.desktop"
new: "kded/kscreen.desktop"
Still in the time dict (i.e. deleted files) ("apps")
Menu "applications-kmenuedit.menu" not found.
g_ctimeDict->ctime( "/usr/share/applications/fakenes-fakenes.desktop" ) =  1359212674 compared with 1359212674
reusing (and removing) old entry for: "/usr/share/applications/fakenes-fakenes.desktop" entry= true
Saving
Emitting notifyDatabaseChanged ("services", "apps")
kf5.kservice.sycoca: Trying to open ksycoca from "/home/karol/.cache/ksycoca5"
kscreen: Loading backend
kscreen.xcb.helper: Detected XRandR 1.4
kscreen.xcb.helper: Event Base:  88
kscreen.xcb.helper: Event Error:  145
kscreen: Loading "XRandR" backend
kf5.kded: Successfully loaded module "kscreen"
Applying config
Part of the Id:  "88ff5c482989f97f0aec2301f7a17bc8"
Applying known config
Part of the Id:  "88ff5c482989f97f0aec2301f7a17bc8"
Finding a mode with: 
QSize(0, 0)
""
kscreen.xrandr: Disabled/Disconnected output:  "eDP1"
kscreen.xrandr: Disabled/Disconnected output:  "HDMI3"
kscreen.xrandr: Disabled/Disconnected output:  "VGA1"
kscreen.xrandr: Disabled/Disconnected output:  "VIRTUAL1"
kscreen.xrandr: Disabled/Disconnected output:  "DP1"
kscreen.xrandr: Disabled/Disconnected output:  "DP2"
kscreen.xrandr: Disabled/Disconnected output:  "HDMI1"
kscreen.xrandr: Disabled/Disconnected output:  "HDMI2"
kscreen.xrandr: Requested screen size is QSize(0, 0)
kscreen.xrandr: 0
kscreen.xrandr: Actions to perform: 
kscreen.xrandr: 	 Primary Output:  0
kscreen.xrandr: 	 Screen Size:  true
kscreen.xrandr: 	 Old:  QSize(1920, 1080)
kscreen.xrandr: 	 New:  QSize(0, 0)
kscreen.xrandr: 	 Disable outputs:  true
kscreen.xrandr: 		 (67)
kscreen.xrandr: 	 Change outputs:  false
kscreen.xrandr: 	 Enable outputs:  false
kscreen.xrandr: Output 67 has CRTC 63
kscreen.xrandr: Disabling:  67 (CRTC 63 )
kscreen.xrandr: XRRSetCrtcConfig() returned 0
Vertical Refresh rate  60 Hz
Application::crashHandler() called with signal 11; recent crashes: 1
Application::crashHandler() called with signal 11; recent crashes: 1
KCrash: Application 'yakuake' crashing...
kscreen.xrandr: DPI:  96.2526
kscreen.xrandr: Size:  QSize(0, 0)
kscreen.xrandr: QSize(0, 0)   0 x 0
KCrash: Attempting to start /usr/bin/krunner from kdeinit
KCrash: Application 'krunner' crashing...
KCrash: Application 'kwin_x11' crashing...
KCrash: Application 'plasmashell' crashing...
KCrash: Attempting to start /usr/bin/kded5 from kdeinit
KCrash: Application 'kded5' crashing...
Connection to the KStatusNotifierWatcher lost
Connection to the KStatusNotifierWatcher lost
Connection to the KStatusNotifierWatcher lost
Connection to the KStatusNotifierWatcher lost
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
The X11 connection broke (error 1). Did the X11 server die?
KCrash: Application 'kwalletmanager5' crashing...
vlc: Fatal IO error: client killed
The X11 connection broke (error 1). Did the X11 server die?
[5703:5703:0109/223400:ERROR:chrome_browser_main_extra_parts_x11.cc(56)] X IO error received (X server probably went away)
[5744:5744:0109/213400:ERROR:x11_util.cc(82)] X IO error received (X server probably went away)
KCrash: Application 'kmix' crashing...
AL lib: (EE) alc_cleanup: 2 devices not closed
kdeinit5: Fatal IO error: client killed
kdeinit5: sending SIGHUP to children.
kdeinit5: sending SIGTERM to children.
kdeinit5: Exit.
Unexpected response from KInit (response = 0).

Reproducible: Always

Steps to Reproduce:
1. install kscreen-1.0.71_p1


Actual Results:  
screen turns black, plasma session dies

Expected Results:  
screen does not turn black, plasma session dies not

using KF5.6, plasma-5.1.2 and kde-apps-14.12 for KF5 based ones and git master for the other ones.
Comment 1 Christoph Feck 2015-01-10 17:38:18 UTC
Does /var/log/Xorg.0.log[.old] indeed indicate that the X11 server has crashed?
Comment 2 kde 2015-01-10 17:41:37 UTC
I think the crash might be my fault, because I stoped it from a tty, because there is no other way to get my system working again.
Comment 3 Christoph Feck 2015-01-10 17:57:07 UTC
If I understand you correctly, you manually caused the X11 server to terminate, which consequently causes all applications that are connected to the X11 server to die. If INVALID is not the correct resolution, please add a comment.
Comment 4 kde 2015-01-11 11:12:22 UTC
no, I had to stop the X11 server, because the installation of kwallet turned the screen black

This happens before I stop the X11 server:

KCrash: Attempting to start /usr/bin/krunner from kdeinit
KCrash: Application 'krunner' crashing...
KCrash: Application 'kwin_x11' crashing...
KCrash: Application 'plasmashell' crashing...
KCrash: Attempting to start /usr/bin/kded5 from kdeinit
KCrash: Application 'kded5' crashing...
Comment 5 kde 2015-01-19 14:05:15 UTC
Created attachment 90513 [details]
gdb output after screen turned black

this basically happens for every appliction started from tty with DISPLAY=:0
Comment 6 kde 2015-01-19 14:06:15 UTC
Created attachment 90514 [details]
.xsession-errors lines directly after installing kscreen (X not stopped after it)
Comment 7 kde 2015-01-19 14:07:02 UTC
I think the issue is, that kscreen tries to apply a config, which simply won't work on my setup. Is there a way to find out, what kscreen tries to do?
Comment 8 kde 2015-01-19 14:20:09 UTC
ohh I found out what the problem was. I had a file (for some reasons) in .local/share/kscreen/ which seems to a not that well configured profile and I really don't know where it came from. After removing this file, nothing bad happens anymore
Comment 9 Jürgen Scholz 2015-01-30 12:46:52 UTC
Created attachment 90812 [details]
gdb trace of kded5 5.6.0-0ubuntu1

Hello all,

I run into the "kded5 is using 100% of one CPU core"  issue every ~30 minutes. It is 100% reproducible by just letting my PC sit while I am logged in without any programs running.

I did the gdb trace even when I have no idea how to interpet the output.

The machine I am on is a not-dist-upgraded (read: fresh) installation of kubuntu vivid. The KDE version is 5.2 since ubuntu updated it's packages a few days ago. I am using the home directory of my old kubuntu installation. However this also happens with a newly created user with a new home directory.

Can I help with additional information/tests to diagnose the issue?

Thank you for reading. Cheers!
Comment 10 Jürgen Scholz 2015-01-30 12:48:51 UTC
Oh, please excuse my mistake! I tried to add my message/file to bug #337674 and managed to do something wrong along the way.
Comment 11 Daniel Vrátil 2015-03-05 14:51:47 UTC
Git commit d255b6fa36f94609a124d17a8ab2ab95ba304f60 by Dan Vrátil.
Committed on 05/03/2015 at 14:49.
Pushed by dvratil into branch 'master'.

KDED: make mode lookup in Serializer::findOutput() more bullet-proof

Make sure that we can handle corrupted data in config fles (either because the
file itself is corrupted or because we have written nonsense in it) and don't
try to restore some messed up configuration.

The method will now also try harder to get a valid mode in case it fails to
match the data from config file with real KScreen::Config (for whatever reason)
and will fallback to preferred mode and biggest mode if necessary. This should
prevent us from leaving users with no screens in case of config file corruption.

M  +25   -1    kded/serializer.cpp

http://commits.kde.org/kscreen/d255b6fa36f94609a124d17a8ab2ab95ba304f60
Comment 12 Daniel Vrátil 2015-03-05 15:11:58 UTC
Git commit f056ead8bc7d7a5bdf573c092a04cd3e47ea97a9 by Dan Vrátil.
Committed on 05/03/2015 at 14:49.
Pushed by dvratil into branch 'Plasma/5.2'.

KDED: make mode lookup in Serializer::findOutput() more bullet-proof

Make sure that we can handle corrupted data in config fles (either because the
file itself is corrupted or because we have written nonsense in it) and don't
try to restore some messed up configuration.

The method will now also try harder to get a valid mode in case it fails to
match the data from config file with real KScreen::Config (for whatever reason)
and will fallback to preferred mode and biggest mode if necessary. This should
prevent us from leaving users with no screens in case of config file corruption.

M  +25   -1    kded/serializer.cpp

http://commits.kde.org/kscreen/f056ead8bc7d7a5bdf573c092a04cd3e47ea97a9
Comment 13 Daniel Vrátil 2015-03-05 18:37:33 UTC
Marking as fixed. Together with some other fixes I pushed today, we should be able to handle invalid an broken configs much better, preventing users to be left without any screens or with messed up setup.

Note that the problem with all applications crashing when we turn off all screens is a known Qt bug, which will be fixed in Qt 5.5.
Comment 14 kde 2015-03-10 17:28:56 UTC
thanks a lot