Public bug reported:
== 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.
** Affects: pm-utils (Ubuntu)
Importance: Undecided
Assignee: Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage)
Status: New
** Tags: architecture-ppc64le bugnameltc-156093 severity-high
targetmilestone-inin1710
** Tags added: architecture-ppc64le bugnameltc-156093 severity-high
targetmilestone-inin1710
** Changed in: ubuntu
Assignee: (unassigned) => Ubuntu on IBM Power Systems Bug Triage
(ubuntu-power-triage)
** Package changed: ubuntu => pm-utils (Ubuntu)
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to pm-utils in Ubuntu.
https://bugs.launchpad.net/bugs/1706948
Title:
[Ubuntu 1710] [Feature] Inconsistent report of pm CanSuspend state by
systemd and pm-utils
Status in pm-utils package in Ubuntu:
New
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/+source/pm-utils/+bug/1706948/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp