[Desktop-packages] [Bug 1706948] Re: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils
** Changed in: pm-utils (Ubuntu) Assignee: (unassigned) => rahmadani (rahmadani) ** Changed in: ubuntu-power-systems Assignee: (unassigned) => rahmadani (rahmadani) -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to pm-utils in Ubuntu. https://bugs.launchpad.net/bugs/1706948 Title: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils Status in The Ubuntu-power-systems project: Invalid Status in pm-utils package in Ubuntu: Invalid Bug description: == Comment: #0 - Balamuruhan S <> - 2017-06-28 03:39:15 == systemd and pm-utils interprets CanSuspend states differently and reports it as supported or not in a conflicting way. # gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.CanSuspend ('yes',) # pm-is-supported --suspend # echo $? 1 Both systemd and pm-is-supported looks into /sys/power/state file to check if suspend is supported. pm-is-supported --suspend returns true if either "standby" or "mem" is present in the file. ( /usr/lib/pm-utils/pm-functions ) systemd(Manager.CanSuspend) returns true if "standby", "freeze" or "mem" is present in the file. ( https://github.com/systemd/systemd/blob/dd8352659c9428b196706d04399eec106a8917ed/src/shared/sleep-config.c ) # cat /sys/power/state freeze So here, pm-is-supported --suspend returns false and gdbus returns true. Both these utilities interpret /sys/power/state differently. Secondly, systemd should split CanSuspend to Cansuspend+CanFreeze Or don't report freeze as CanSuspend. Impact of this inconsistency can be felt from Libvirt supported pm states: To reduce ABI dependency, libvirt queries the available states via dbus, if not falls to pm-utils. Libvirt won't check for strings in sys/power/state and interpret directly. so due to this, libvirt will list that suspend_to_mem is supported from virsh capabilities but ideally it might not. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1706948/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 1706948] Re: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils
** Changed in: pm-utils (Ubuntu) Status: Incomplete => Invalid ** Changed in: ubuntu-power-systems Status: Incomplete => Invalid -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to pm-utils in Ubuntu. https://bugs.launchpad.net/bugs/1706948 Title: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils Status in The Ubuntu-power-systems project: Invalid Status in pm-utils package in Ubuntu: Invalid Bug description: == Comment: #0 - Balamuruhan S <> - 2017-06-28 03:39:15 == systemd and pm-utils interprets CanSuspend states differently and reports it as supported or not in a conflicting way. # gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.CanSuspend ('yes',) # pm-is-supported --suspend # echo $? 1 Both systemd and pm-is-supported looks into /sys/power/state file to check if suspend is supported. pm-is-supported --suspend returns true if either "standby" or "mem" is present in the file. ( /usr/lib/pm-utils/pm-functions ) systemd(Manager.CanSuspend) returns true if "standby", "freeze" or "mem" is present in the file. ( https://github.com/systemd/systemd/blob/dd8352659c9428b196706d04399eec106a8917ed/src/shared/sleep-config.c ) # cat /sys/power/state freeze So here, pm-is-supported --suspend returns false and gdbus returns true. Both these utilities interpret /sys/power/state differently. Secondly, systemd should split CanSuspend to Cansuspend+CanFreeze Or don't report freeze as CanSuspend. Impact of this inconsistency can be felt from Libvirt supported pm states: To reduce ABI dependency, libvirt queries the available states via dbus, if not falls to pm-utils. Libvirt won't check for strings in sys/power/state and interpret directly. so due to this, libvirt will list that suspend_to_mem is supported from virsh capabilities but ideally it might not. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1706948/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 1706948] Re: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils
--- Comment From nasas...@in.ibm.com 2017-09-19 01:35 EDT--- Tested this on latest libvirtd 3.6.0 and I am not seeing the issue. # gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.CanSuspend('yes',) # pm-is-supported --suspend # echo $? 0 # cat /sys/power/state freeze mem --- Comment From nasas...@in.ibm.com 2017-09-19 01:42 EDT--- pm-utils 1.4.1-17 Version of pm-utils --- Comment From balamuruh...@in.ibm.com 2017-09-19 05:27 EDT--- (In reply to comment #7) > Bala, > > Is this still an issue with the latest libvirt updates in Ubuntu 17.10? Hi Leonardo, This bug originated from https://bugzilla.linux.ibm.com/show_bug.cgi?id=150043 for the purpose of tracking in Ubuntu. The issue have been fixed in Kernel and can be closed. Thank you Nageswara for validating it. -- Bala --- Comment From lagar...@br.ibm.com 2017-10-09 08:16 EDT--- Closing based on last comment. ** Bug watch added: bugzilla.linux.ibm.com/ #150043 https://bugzilla.linux.ibm.com/show_bug.cgi?id=150043 -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to pm-utils in Ubuntu. https://bugs.launchpad.net/bugs/1706948 Title: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils Status in The Ubuntu-power-systems project: Incomplete Status in pm-utils package in Ubuntu: Incomplete Bug description: == Comment: #0 - Balamuruhan S <> - 2017-06-28 03:39:15 == systemd and pm-utils interprets CanSuspend states differently and reports it as supported or not in a conflicting way. # gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.CanSuspend ('yes',) # pm-is-supported --suspend # echo $? 1 Both systemd and pm-is-supported looks into /sys/power/state file to check if suspend is supported. pm-is-supported --suspend returns true if either "standby" or "mem" is present in the file. ( /usr/lib/pm-utils/pm-functions ) systemd(Manager.CanSuspend) returns true if "standby", "freeze" or "mem" is present in the file. ( https://github.com/systemd/systemd/blob/dd8352659c9428b196706d04399eec106a8917ed/src/shared/sleep-config.c ) # cat /sys/power/state freeze So here, pm-is-supported --suspend returns false and gdbus returns true. Both these utilities interpret /sys/power/state differently. Secondly, systemd should split CanSuspend to Cansuspend+CanFreeze Or don't report freeze as CanSuspend. Impact of this inconsistency can be felt from Libvirt supported pm states: To reduce ABI dependency, libvirt queries the available states via dbus, if not falls to pm-utils. Libvirt won't check for strings in sys/power/state and interpret directly. so due to this, libvirt will list that suspend_to_mem is supported from virsh capabilities but ideally it might not. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1706948/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp
[Desktop-packages] [Bug 1706948] Re: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils
I'm not sure that Frank's follow-up comment and package assignment corresponds to the original bug report. If I understand the original bug report correctly, the problem is that systemd reports 'yes' to CanSuspend on systems that only support 'freeze', and that this is seen as incorrect. Therefore the problem is not inconsistency between systemd and pm-utils; the problem is inconsistency between systemd and the consumer of the CanSuspend API (in this case, libvirt). This API is org.freedesktop.login1.Manager.CanSuspend, which is part of logind, which is defined by systemd. So unless this is a behavior change in systemd, it doesn't appear to be a bug that we can do anything about directly in Ubuntu; the semantics of this API are defined by upstream, and any changes to those semantics would need to be negotiated with upstream. For my part, I am not clear why 'freeze' should not be considered a subcategory of suspend-to-mem, so perhaps this bug will be 'wontfix' by systemd upstream. At the very least, this bug report seems to be missing an explanation of why the current behavior of systemd is wrong. In any case, it's clear to me that no change in pm-utils will address the root problem being reported, because a) libvirt prefers logind over pm-utils, we always have logind present in 18.04, and we do not install pm-utils by default, so changing pm-utils will not change the observed behavior; and b) AIUI the bug submitter is asserting that pm-utils' behavior is the correct behavior. ** Changed in: pm-utils (Ubuntu) Assignee: Canonical Foundations Team (canonical-foundations) => (unassigned) -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to pm-utils in Ubuntu. https://bugs.launchpad.net/bugs/1706948 Title: [Ubuntu 18.04] [Feature] Inconsistent report of pm CanSuspend state by systemd and pm-utils Status in The Ubuntu-power-systems project: Incomplete Status in pm-utils package in Ubuntu: Incomplete Bug description: == Comment: #0 - Balamuruhan S <> - 2017-06-28 03:39:15 == systemd and pm-utils interprets CanSuspend states differently and reports it as supported or not in a conflicting way. # gdbus call --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 --method org.freedesktop.login1.Manager.CanSuspend ('yes',) # pm-is-supported --suspend # echo $? 1 Both systemd and pm-is-supported looks into /sys/power/state file to check if suspend is supported. pm-is-supported --suspend returns true if either "standby" or "mem" is present in the file. ( /usr/lib/pm-utils/pm-functions ) systemd(Manager.CanSuspend) returns true if "standby", "freeze" or "mem" is present in the file. ( https://github.com/systemd/systemd/blob/dd8352659c9428b196706d04399eec106a8917ed/src/shared/sleep-config.c ) # cat /sys/power/state freeze So here, pm-is-supported --suspend returns false and gdbus returns true. Both these utilities interpret /sys/power/state differently. Secondly, systemd should split CanSuspend to Cansuspend+CanFreeze Or don't report freeze as CanSuspend. Impact of this inconsistency can be felt from Libvirt supported pm states: To reduce ABI dependency, libvirt queries the available states via dbus, if not falls to pm-utils. Libvirt won't check for strings in sys/power/state and interpret directly. so due to this, libvirt will list that suspend_to_mem is supported from virsh capabilities but ideally it might not. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-power-systems/+bug/1706948/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp