NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.34k stars 13.58k forks source link

Broken screen locker #56195

Closed memberbetty closed 5 years ago

memberbetty commented 5 years ago

Issue description

I see this issue https://forums.opensuse.org/showthread.php/518831-The-screen-locker-is-broken-and-unlocking-is-not-possible-anymore

Steps to reproduce

Control-Alt-l (to lock the screen)

Technical details

SDDM/Plasma5/18.09-release

timor commented 5 years ago

In the provided forum thread, the culprit seems to have been that /tmp was full. Can you confirm that this is actually not the cause?

memberbetty commented 5 years ago

@timor I don't have that state anymore. However, the software should be able to cope with that situation.

timor commented 5 years ago

I don't have that state anymore.

Was it reproducible when you had it? What did you do that you don't have it anymore?

memberbetty commented 5 years ago

I rolled back.

timor commented 5 years ago

Ah ok. I am asking because I also have seen this behavior recently, but only once. In my case, after restarting display-manager, it was gone, so I was assuming a transient problem due to automatic upgrade of my system.

chris81 commented 5 years ago

Hi all,

I got the same issue with the screen locker. Running a watch on the system journal on a second console while triggering a screen lock gives the following in the log

Mar 01 17:24:10 nixos xsession[1142]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 48468, resource id: 71303173, major code: 18 (ChangeProperty), minor code: 0
Mar 01 17:24:10 nixos xsession[1142]: Initializing  "kcm_mouse" :  "kcminit_mouse"
Mar 01 17:24:10 nixos xsession[1142]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 48472, resource id: 69206021, major code: 18 (ChangeProperty), minor code: 0
Mar 01 17:24:17 nixos xsession[1142]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 49132, resource id: 58720263, major code: 15 (QueryTree), minor code: 0
Mar 01 17:24:17 nixos xsession[1142]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 49208, resource id: 58720295, major code: 18 (ChangeProperty), minor code: 0
Mar 01 17:24:19 nixos xsession[1142]: lock called
Mar 01 17:24:19 nixos xsession[1142]: Lock window Id:  29360135
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 29360135
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 29360137
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 58720260
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 58720264
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 58720273
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 58720275
Mar 01 17:24:19 nixos xsession[1142]: CreateNotify: 58720277
Mar 01 17:24:19 nixos xsession[1142]: MapNotify: 58720275
Mar 01 17:24:19 nixos xsession[1142]: Cannot mix incompatible Qt library (version 0x50b01) with this library (version 0x50b03)

The last line seems to be interesting, might be some version conflict in Qt libraries between the screen locker and the rest of Plasma. As I'm quite a newbie to NixOS, i've not found yet in which packages to dig around, but maybe those lines above could give someone else a hint where to dig deeper.

timor commented 5 years ago

@chris81 There are a number of issues related to a recent Qt update. This smells like a similar issue, and should also be able to be resolved that way, see #55994.

chris81 commented 5 years ago

@timor, thanks for the hints. Searching for old qt packages like in #55994 solved the issue. Seems that I had some manually installed packages in the profile of root. Strange that the packages of root seep through to my normal user.

timor commented 5 years ago

Strange that the packages of root seep through to my normal user.

Yes, I was also surprised when I found out. Couldn't find any documentation on it, either. Supposedly the intended behavior is that root can modify the system (for everyone) in a non-declarative manner. If you look at your PATH variable, you can see that this takes priorty over /run/current-system/... stuff.

memberbetty commented 5 years ago

A combination of the above solutions worked for me.

systemctl restart display-manager.service and removing every package installed via nix-env.

Thanks for the information.