Bug 312761 - Hibernate works but resume says it didn't
Summary: Hibernate works but resume says it didn't
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-power-manager   
(Show other bugs)
Version: 8
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: David Zeuthen
QA Contact: Fedora Extras Quality Assurance
Keywords: Reopened
: 330191 (view as bug list)
Depends On:
Blocks: F8Blocker
TreeView+ depends on / blocked
Reported: 2007-09-29 22:21 UTC by Matthew Saltzman
Modified: 2013-03-06 03:52 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-10-29 21:43:16 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

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

Description Matthew Saltzman 2007-09-29 22:21:48 UTC
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):

How reproducible:

Steps to Reproduce:
1. Hibernate using pm applet.
2. Resume.
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 22:25:09 UTC
Created attachment 211441 [details]
pm-suspend log from "failed" hibernate

Comment 2 Matthew Saltzman 2007-09-29 22:26:07 UTC
Created attachment 211451 [details]
portion of /var/log/messages related to "failed" hibernate

Comment 3 Till Maas 2007-09-30 09:38:31 UTC
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 21:15:37 UTC
OK How do I get better debug logs?  Thanks.

Comment 5 Matthias Clasen 2007-10-05 03:15:33 UTC
David, any clue about this ?

Comment 6 David Zeuthen 2007-10-05 15:17:39 UTC
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.DBus.Introspectable.Introspect |grep -2 Suspend
  <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 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.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.DBus.Introspectable.Introspect |grep -2 Hibernate
      <arg name="return_code" direction="out" type="i"/>
    <method name="Hibernate">
      <arg name="return_code" direction="out" type="i"/>
[davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal
[davidz@oneill ~]$ 
[davidz@oneill ~]$ 
[davidz@oneill ~]$ dbus-send --print-reply --system --dest=org.freedesktop.Hal
method return sender=:1.4 -> dest=:1.487 reply_serial=2
   int32 0

Comment 7 David Zeuthen 2007-10-05 15:18:54 UTC
Created attachment 217621 [details]
Patch to fix expected return types

This patch should go upstream.

Comment 8 David Zeuthen 2007-10-05 18:28:08 UTC
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


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


So this is fixed in -3 which is building right now. You can beat the rush and
get the 0day warez right here



[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 20:39:29 UTC
OK Got it.  A quick hibernate-resume seems to work fine.

Comment 10 David Zeuthen 2007-10-12 22:49:00 UTC
*** Bug 330191 has been marked as a duplicate of this bug. ***

Comment 11 Andrew Bartlett 2007-10-29 20:39:07 UTC
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 21:43:16 UTC
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 22:17:43 UTC
(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.