Bug 312761
Summary: | Hibernate works but resume says it didn't | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Matthew Saltzman <mjs> | ||||||||
Component: | gnome-power-manager | Assignee: | David Zeuthen <davidz> | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||
Severity: | low | Docs Contact: | |||||||||
Priority: | low | ||||||||||
Version: | 8 | CC: | abartlet, katzj, mclasen, opensource, richard, wwoods | ||||||||
Target Milestone: | --- | Keywords: | Reopened | ||||||||
Target Release: | --- | ||||||||||
Hardware: | All | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2007-10-29 21:43:16 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 235703 | ||||||||||
Attachments: |
|
Description
Matthew Saltzman
2007-09-29 22:21:48 UTC
Created attachment 211441 [details]
pm-suspend log from "failed" hibernate
Created attachment 211451 [details]
portion of /var/log/messages related to "failed" hibernate
Afaik, the applet belongs to gnome-power-manager, the pm-suspend does not contain any warnings, therefore I guess it is an applet issue. Maybe you need to increase verbosity to get a helping log, because the critical log entries seem to be: Sep 29 18:02:37 valkyrie gnome-power-manager: (mjs) Resuming computer Sep 29 18:02:37 valkyrie gnome-power-manager: (mjs) hibernate failed But a reason why it failed is missing. OK How do I get better debug logs? Thanks. David, any clue about this ? g-p-m is expect the wrong return types from hal; so I wrote a patch (will attach in the next comment) but for some reason beyond me I still get the "Sleep problem" dialog from g-p-m. Richard, what gives? FWIW, it works fine using dbus-send: [davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.DBus.Introspectable.Introspect |grep -2 Suspend </interface> <interface name="org.freedesktop.Hal.Device.SystemPowerManagement"> <method name="Suspend"> <arg name="num_seconds_to_sleep" direction="in" type="i"/> <arg name="return_code" direction="out" type="i"/> </method> <method name="SuspendHybrid"> <arg name="num_seconds_to_sleep" direction="in" type="i"/> <arg name="return_code" direction="out" type="i"/> [davidz@oneill ~]$ [davidz@oneill ~]$ [davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Suspend int32:0 method return sender=:1.4 -> dest=:1.434 reply_serial=2 int32 0 [davidz@oneill ~]$ [davidz@oneill ~]$ [davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.DBus.Introspectable.Introspect |grep -2 Hibernate <arg name="return_code" direction="out" type="i"/> </method> <method name="Hibernate"> <arg name="return_code" direction="out" type="i"/> </method> [davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate [davidz@oneill ~]$ [davidz@oneill ~]$ [davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal /org/freedesktop/Hal/devices/computer org.freedesktop.Hal.Device.SystemPowerManagement.Hibernate method return sender=:1.4 -> dest=:1.487 reply_serial=2 int32 0 Created attachment 217621 [details]
Patch to fix expected return types
This patch should go upstream.
OK, so it turns out we're getting a D-Bus timeout. Actually g-p-m got codepaths to handle this [1] but the call site passes NULL for the GError so we never get to examine this and properly handle timeouts. This patch http://cvs.fedoraproject.org/viewcvs/devel/gnome-power-manager/gnome-power-manager-2.20.0-use-gerror.patch?rev=1.1&view=auto takes care of that. I've tested and it works. Also, there's an update of the patch in comment 7; you want this one instead http://cvs.fedoraproject.org/viewcvs/devel/gnome-power-manager/gnome-power-manager-2.20.0-expected-return-types.patch?rev=1.1&view=auto So this is fixed in -3 which is building right now. You can beat the rush and get the 0day warez right here http://koji.fedoraproject.org/koji/taskinfo?taskID=184871 Thanks. [1] : because dbus-glib sucks and don't let you specify INT_MAX or a magic sentinel to say "unlimited" as a timeout; this is really needed because the (wall-clock) time between when Hibernate() is invoked and when it returns (e.g. when the system resumes) can be infinitely long. OK Got it. A quick hibernate-resume seems to work fine. *** Bug 330191 has been marked as a duplicate of this bug. *** quick hibername-resumes are the easy part, you need to leave it overnight for a correct test. gnome-power-manager-2.20.0-6.fc8 still fails. I just hibernated and then set my clock forward two months (party like it's December 29th! :-) and resumed and things are fine. Andrew -- If you're still seeing a failure message, it's likely due to something actually failing. Please open another report and include /var/log/pm-suspend.log from when it says it fails. (sorry for the late reply). Confirming fixed, as I've not seen this in months. |