This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 312761 - Hibernate works but resume says it didn't
Hibernate works but resume says it didn't
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: gnome-power-manager (Show other bugs)
8
All Linux
low Severity low
: ---
: ---
Assigned To: David Zeuthen
Fedora Extras Quality Assurance
: Reopened
: 330191 (view as bug list)
Depends On:
Blocks: F8Blocker
  Show dependency treegraph
 
Reported: 2007-09-29 18:21 EDT by Matthew Saltzman
Modified: 2013-03-05 22:52 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-10-29 17:43:16 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
pm-suspend log from "failed" hibernate (2.88 KB, text/plain)
2007-09-29 18:25 EDT, Matthew Saltzman
no flags Details
portion of /var/log/messages related to "failed" hibernate (9.51 KB, text/plain)
2007-09-29 18:26 EDT, Matthew Saltzman
no flags Details
Patch to fix expected return types (1.04 KB, patch)
2007-10-05 11:18 EDT, David Zeuthen
no flags Details | Diff

  None (edit)
Description Matthew Saltzman 2007-09-29 18:21:48 EDT
Description of problem:
I hibernate my Thinkpad T61 and that seems to work fine, but on resume the pm
applet pops up a balloon saying it failed.

Version-Release number of selected component (if applicable):
pm-utils-0.99.4-3.fc8

How reproducible:
Always

Steps to Reproduce:
1. Hibernate using pm applet.
2. Resume.
3.
  
Actual results:
Error balloon pops up claiming hibernate failed.

Expected results:
No error ballon.  (Either because it worked or because whatever error occured
has been fixed...)

Additional info:

I'm attaching pm-suspend.log and relevant secctions of messages.  I had SELinux
in permissive mode for this test, but you will see some AVCs in the log.

(Looking at the log, I'm not sure if this is a pm-utils issue or a kernel issue,
but I'll file here first.)
Comment 1 Matthew Saltzman 2007-09-29 18:25:09 EDT
Created attachment 211441 [details]
pm-suspend log from "failed" hibernate
Comment 2 Matthew Saltzman 2007-09-29 18:26:07 EDT
Created attachment 211451 [details]
portion of /var/log/messages related to "failed" hibernate
Comment 3 Till Maas 2007-09-30 05:38:31 EDT
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.
Comment 4 Matthew Saltzman 2007-09-30 17:15:37 EDT
OK How do I get better debug logs?  Thanks.
Comment 5 Matthias Clasen 2007-10-04 23:15:33 EDT
David, any clue about this ?
Comment 6 David Zeuthen 2007-10-05 11:17:39 EDT
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
Comment 7 David Zeuthen 2007-10-05 11:18:54 EDT
Created attachment 217621 [details]
Patch to fix expected return types

This patch should go upstream.
Comment 8 David Zeuthen 2007-10-05 14:28:08 EDT
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.
Comment 9 Matthew Saltzman 2007-10-05 16:39:29 EDT
OK Got it.  A quick hibernate-resume seems to work fine.
Comment 10 David Zeuthen 2007-10-12 18:49:00 EDT
*** Bug 330191 has been marked as a duplicate of this bug. ***
Comment 11 Andrew Bartlett 2007-10-29 16:39:07 EDT
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. 
Comment 12 Jeremy Katz 2007-10-29 17:43:16 EDT
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.
Comment 13 Andrew Bartlett 2008-07-17 18:17:43 EDT
(sorry for the late reply).  Confirming fixed, as I've not seen this in months.  

Note You need to log in before you can comment on or make changes to this bug.