At Tue, 10 Jul 2012 01:52:16 +0200 (CEST), Carlos E. R. wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Monday, 2012-07-09 at 10:52 -0400, Jeff Mahoney wrote:
On 6/29/12 10:26 AM, Carlos E. R. wrote:
Thus it is the ioctl() function call that is not returning!
Yep, this is where it would have to fail. That's the kernel entry point to create the snapshot. There is a ton of heavy lifting that goes along with it behind the scenes in kernel-space.
Unfortunately, the now-common way of adding events (tracepoints) doesn't really help here since there'd be no way to dump them.
Well, since I posted that I made some progress. As a matter of fact, I'm now running a modified kernel with lots of printk statements "savagely" sprinkled around :-)
Last crash was about here:
/usr/src/linux/kernel/power/hibernate.c:
int hibernation_snapshot(int platform_mode) {
...
printk(KERN_INFO "I was here: 2.4\n"); error = dpm_suspend_start(PMSG_FREEZE); <====== if (error) goto Recover_platform;
printk(KERN_INFO "I was here: 2.5\n");
It printed the 2.4 mark, then several messages about the disk system (no errors), and the last message was like this (this one is from another run):
.... Telcontar kernel - - - [ 792.002714] r8169 0000:06:00.0: eth0: link up
I made a video of the crash messages, but they are almost unreadable; I deduced the messages by comparison with a sucesful hibernate cycle.
So I then added more messages to dpm_suspend_start() and I'm waiting for it to crash and take a photo instead: it could happen tonight or in a week.
The process I'm following is reported in the bugzilla: <https://bugzilla.novell.com/show_bug.cgi?id=765084>, and in this mail thread:
<http://lists.opensuse.org/opensuse/2012-06/msg00912.html> <http://lists.opensuse.org/opensuse/2012-07/msg00000.html>
Last events are here: <http://lists.opensuse.org/opensuse/2012-07/msg00132.html> and the next 3 messages.
Historically, most suspend problems are driver issues. If you have some time, try unloading individual modules before attempting the suspend. Once you're able to suspend reliably again, it should be clear which module is at fault. I'd start with the usb audio driver.
Ah.
Time I have... I have to do something, it is crashing randomly when I hibernate. It is a nuisance, hibernation is an important part of my work methodology.
Then I would do "rmmod snd_usb ; rmmod snd_usb_audio", hibernate, and on thawing I would have to modprobe them. Or perhaps "rcalsa stop"?
A safer way is to add such a module to the module blacklist so that it won't be loaded at all, then check S4 to see whether the problem persists or not. Takashi -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org