Skip to contentSkip to conversation

hibernation fails from kexec'ed kernel

DISCUSSION Jiri Slaby 2 participants 6 messages Jan 12, 2013 – Jan 13, 2013

lore
Share & tools
lore

Jiri Slaby

author
#0 lore raw

Hi,

when I try to hibernate and resume from a kexec'ed kernel, the resume fails with:
PM: Image not found (code -22)

I dumped sig and orig_sig from swsusp_check and it looks like this:
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2

So it looks like the image (or only the signature) did not land to the disk.

I use only the in-kernel hibernation, I do not even have the suspend package installed. This is with 3.7.2 and happens this way for some time already. When I boot the kernel normally, hib+resume works just fine.

Any ideas?

thanks,

Signature · 1 line
js
author
#1 lore raw
Quoted 11 lines · Jiri Slaby

Hi,

when I try to hibernate and resume from a kexec'ed kernel, the resume fails with:
PM: Image not found (code -22)

I dumped sig and orig_sig from swsusp_check and it looks like this:
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2

So it looks like the image (or only the signature) did not land to the disk.

Note that I see "PM: S|" and the error returned from mark_swapfiles is 0.

Quoted 7 lines

I use only the in-kernel hibernation, I do not even have the suspend package installed. This is with 3.7.2 and happens this way for some time already. When I boot the kernel normally, hib+resume works just fine.

Any ideas?

thanks,

Signature · 1 line
js
#2 lore raw
Quoted 7 lines · Jiri Slaby
Quoted 6 lines · Jiri Slaby

Hi,

when I try to hibernate and resume from a kexec'ed kernel, the resume fails with:
PM: Image not found (code -22)

Quoted 13 lines
Quoted 5 lines

I dumped sig and orig_sig from swsusp_check and it looks like this:
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2

So it looks like the image (or only the signature) did not land to the disk.

Note that I see "PM: S|" and the error returned from mark_swapfiles is 0.

Quoted 5 lines

I use only the in-kernel hibernation, I do not even have the suspend package installed. This is with 3.7.2 and happens this way for some time already. When I boot the kernel normally, hib+resume works just fine.

Any ideas?

Quite frankly, I'm not really surprised, because this is the first time I know of anybody has tested hibernate and resume from a kexec'ed kernel.

I have no idea why exactly it doesn't work, though.

Did you use s2disk or the internal hibernation?

Rafael

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
author
#3 lore raw
Quoted 16 lines · Rafael J. Wysocki
Quoted 15 lines · Jiri Slaby
Quoted 11 lines · Jiri Slaby

Hi,

when I try to hibernate and resume from a kexec'ed kernel, the resume fails with:
PM: Image not found (code -22)

I dumped sig and orig_sig from swsusp_check and it looks like this:
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2

So it looks like the image (or only the signature) did not land to the disk.

Note that I see "PM: S|" and the error returned from mark_swapfiles is 0.

Quoted 8 lines
Quoted 5 lines
Quoted 5 lines

I use only the in-kernel hibernation, I do not even have the suspend package installed. This is with 3.7.2 and happens this way for some time already. When I boot the kernel normally, hib+resume works just fine.

Any ideas?

Quite frankly, I'm not really surprised, because this is the first time I know of anybody has tested hibernate and resume from a kexec'ed kernel.

It's quite usual and natural, that people kexec to a new kernel, I think. I used to do that for a long time, but it stopped workign at some point.

Quoted 1 line

I have no idea why exactly it doesn't work, though.

I'm trying to debug that ATM...

Quoted 1 line

Did you use s2disk or the internal hibernation?

As I write above, I don't have suspend package installed. This is a pure in-kernel implementation.

Signature · 1 line
js
#4 lore raw
Quoted 30 lines · Jiri Slaby
Quoted 16 lines · Rafael J. Wysocki
Quoted 15 lines · Jiri Slaby
Quoted 11 lines · Jiri Slaby

Hi,

when I try to hibernate and resume from a kexec'ed kernel, the resume fails with:
PM: Image not found (code -22)

I dumped sig and orig_sig from swsusp_check and it looks like this:
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2
53 57 41 50 53 50 41 43 45 32 SWAPSPACE2

So it looks like the image (or only the signature) did not land to the disk.

Note that I see "PM: S|" and the error returned from mark_swapfiles is 0.

Quoted 8 lines
Quoted 5 lines
Quoted 5 lines

I use only the in-kernel hibernation, I do not even have the suspend package installed. This is with 3.7.2 and happens this way for some time already. When I boot the kernel normally, hib+resume works just fine.

Any ideas?

Quite frankly, I'm not really surprised, because this is the first time I know of anybody has tested hibernate and resume from a kexec'ed kernel.

It's quite usual and natural, that people kexec to a new kernel, I think. I used to do that for a long time, but it stopped workign at some point.

Quoted 8 lines
Quoted 1 line

I have no idea why exactly it doesn't work, though.

I'm trying to debug that ATM...

Quoted 1 line

Did you use s2disk or the internal hibernation?

As I write above, I don't have suspend package installed. This is a pure in-kernel implementation.

I see.

Well, if it used to work and it doesn't any more, then definitely something broke.

The symptom seems to indicate that the image header is in a wrong place.

Thanks,
Rafael

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
author
#5 lore raw
Quoted 1 line · Rafael J. Wysocki

The symptom seems to indicate that the image header is in a wrong place.

Or a memory corruption which I saw today (without hibernation) -- data which should have gone to the video memory appeared in struct hid_device :/. I suggest to suspend this thread unless the corruption gets resolved. (I suppose the corruption won't affect this issue, because I haven't ever seen a problem with hibernation unless kexec was used. But who knows...)

Signature · 1 line
js