Bug 270821

Summary: Doesn't suspend after a suspend action went wrong
Product: [Fedora] Fedora Reporter: Nils Philippsen <nphilipp>
Component: pm-utilsAssignee: Phil Knirsch <pknirsch>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: medium    
Version: 7CC: opensource, pknirsch, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-04-19 13:54:23 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: 270841    
Bug Blocks:    

Description Nils Philippsen 2007-08-31 11:00:40 UTC
Description of problem:

If a suspend action goes wrong, it may leave the /.suspended file on the next
boot which inhibits subsequent suspend/hibernate actions due to
take_suspend_lock() in /usr/lib/pm-utils/functions.

Version-Release number of selected component (if applicable):
pm-utils-0.99.3-6.fc7

How reproducible:
It depends.

Steps to Reproduce:
1. On a machine with broken suspend/hibernate (one of those not working should
be sufficient), run pm-suspend or pm-hibernate (whatever is broken, e.g. with an
old version of pm-utils with broken quirks)
2. After the action has sufficiently blown up in your face, reboot the machine
3. Run pm-suspend/-hibernate (whatever works, e.g. a new version of pm-utils
with fixed quirks
  
Actual results:
Machine switches to a VT and nothing else

Expected results:
Machine suspends/hibernates, stale /.suspended files get cleaned up some way. 

Additional info:
A stale /.suspended file doesn't even give an error message, that's really bad.
It should at least give that so the user had an idea what goes wrong. Then,
stale /.suspended should be detected so it doesn't inhibit subsequent
suspend/hibernate actions.

Comment 1 Christopher Beland 2007-09-19 17:36:12 UTC
This appears to be a duplicate of bug 270841.

Comment 2 Till Maas 2007-12-30 21:04:00 UTC
There is already some code in take_suspend_lock() that checks, whether a process
with the id stored in the lockfile is still running. I do not know a better way
to implement a lockfile in bash.

Comment 3 Till Maas 2008-04-19 13:54:23 UTC
Sorry, this will be only fixed in Fedora 9, it is currently fixed in Fedora Rawhide.