[Bug 1158694] New: Systemd 243 breaks light-locker on second lock activation
http://bugzilla.opensuse.org/show_bug.cgi?id=1158694 Bug ID: 1158694 Summary: Systemd 243 breaks light-locker on second lock activation Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem Assignee: bnc-team-screening@forge.provo.novell.com Reporter: cyril.x9@gmail.com QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- Systemd 243 breaks light-locker on second lock activation Systemd commit 3b92c08 has been causing screen lockers to hang While trying out the "stable branch of pantheon", I found that light-locker has exposed a systemd issue which has already been solved upstream AND by opensuse's master branch, but only partially backported to factory/v243. Problem (includes steps to reproduce): After locking the screen (super+l or `light-locker-command -l`) the gui freezes on the "This session is locked" screen Screenshot: https://imgur.com/R78OU59 After reboot the first lock/unlock works, the second ends in the freeze. More on the issue: https://github.com/systemd/systemd/pull/13811 Original reports/logs/debugging: https://bbs.archlinux.org/viewtopic.php?id=249053 https://github.com/NixOS/nixpkgs/issues/69399 A series/family of commits comprise the solution: 1) logind: fix property emission on Sessions We would not send the property because we'd call sd_bus_get_current_message() which would return NULL. If there is no message, we cannot support /self or /auto, but things are still OK if a path with a session name is given. https://github.com/systemd/systemd-stable/commit/471cffcfb0e005b7c4044b3b52c... 2) logind: fix emission of PropertiesChanged on seats The story is the same as in 471cffc: device_attach() → seat_send_changed() → sd_bus_emit_properties_changed_strv() → emit_properties_changed_on_interface() → node_vtable_get_userdata() → seat_object_find(), which returns 0 because message == NULL. But when we are emitting a signal, message is always NULL. Removing the overeager check and assert in the called function allow the signal to be emitted. https://github.com/openSUSE/systemd/commit/8cc64c2a3640121745fdfaccc6eae896a... 3) logind: fix emission of PropertiesChanged for users The same as parent commit, but users. This is the third and last foo_object_find() function in logind, so I think that this particular family of bugs is finally squashed. https://github.com/openSUSE/systemd/commit/8163b9f90079af298031dcbffee057fc3... 4) logind: drop {} https://github.com/systemd/systemd/pull/13811/commits/4b9e5848e31cb2efb606a5... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1158694
http://bugzilla.opensuse.org/show_bug.cgi?id=1158694#c1
--- Comment #1 from Cyril Wiggins
participants (1)
-
bugzilla_noreply@novell.com