Bizarre oops after suspend to RAM (was: Re: [ACPI] Resume from Suspend to RAM)

Matthew Garrett
2005-06-06T11:06:43Z

On Mon, 2005-06-06 at 11:26 +0100, Matthew Garrett wrote:
> On Sun, 2005-06-05 at 17:32 +0000, Stefan Dösinger wrote:
>
> > I've no idea how to debug a reboot, but if the system hangs it's possible to
> > add "lcall $0xffff,$0" early in the wakeup assembler code. If the system
> > reboots immediatly then, the kernels wakeup code was reached and the kernel
> > hangs later during resume.
>
> Ok, I've just tried that. The system still just freezes.

Whoops. May have been a bit too hasty there. I'm not sure why that
doesn't reset it, but we've now got the following (really rather odd)
serial output. Does anyone have any idea what might be triggering this?
Shell builtins work fine, but anything else seems to explode very
messily. Memory corruption of some description?

^MRestarting tasks... done
^Mroot@(none):/# ^M
root@(none):/# ls -la ^M
Unable to handle kernel NULL pointer dereference at virtual address 00000024
^M printing eip:
^Mc015ac62
^M*pde = 00000000
^MOops: 0002 [#1]
^MPREEMPT
^MModules linked in:
^MCPU: 0
^MEIP: 0060:[<c015ac62>] Not tainted VLI
^MEFLAGS: 00010246 (2.6.12-rc5)
^MEIP is at filp_open+0x32/0x70
^Meax: f7ccb000 ebx: 00000000 ecx: 00000003 edx: 00000000
^Mesi: 00000000 edi: f7ccb000 ebp: f7c5c000 esp: f7c5df48
^Mds: 007b es: 007b ss: 0068
^MProcess ls (pid: 875, threadinfo=f7c5c000 task=c1bbc060)
^MStack: 00000000 00000001 c015a5d5 f7c5df58 00000000 c0109806 fffffeff 00000000^M c1bcf1ec 00000000 f7ccb000 00000003 c18c0c80 f7c5c000 c015af95 c18c0c80^M 00000003 00000003 f7ccb000 00000000 00000003 c015b109 f7ccb000 00000000^MCall Trace:
^M [<c015a5d5>] sys_access+0x85/0x150
^M [<c0109806>] old_mmap+0xd6/0x110
^M [<c015af95>] get_unused_fd+0xa5/0xe0
^M [<c015b109>] sys_open+0x49/0x90
^M [<c0103245>] syscall_call+0x7/0xb
^MCode: 8b 5c 24 5c 8d 43 01 a8 03 0f 44 c3 89 c2 83 ca 02 f6 c4 02 0f 45 c2 8d
54 24 10 89 54 24 0c 8b 54 24 60 89 44 24 04 8b 44 24 58 <89> 56 24 08 89 04 24
e8 62 19 01 00 85 c0 74 0e 8b 5c 24 50 83
^M Segmentation fault^M
root@(none):/# ^M
root@(none):/# free^M
<1>Unable to handle kernel NULL pointer dereference at virtual address 00000024
^M printing eip:
^Mc015ac62
^M*pde = 00000000
^MOops: 0002 [#2]
^MPREEMPT
^MModules linked in:
^MCPU: 0
^MEIP: 0060:[<c015ac62>] Not tainted VLI
^MEFLAGS: 00010246 (2.6.12-rc5)
^MEIP is at filp_open+0x32/0x70
^Meax: f7ce3000 ebx: 00000000 ecx: 00000003 edx: 00000000
^Mesi: 00000000 edi: f7ce3000 ebp: f7c5c000 esp: f7c5df48
^Mds: 007b es: 007b ss: 0068
^MProcess free (pid: 876, threadinfo=f7c5c000 task=c1bbc560)
^MStack: 00000000 00000001 c015a5d5 f7c5df58 00000000 c0109806 fffffeff 00000000^M c1bcf1ec 00000000 f7ce3000 00000003 c18c0040 f7c5c000 c015af95 c18c0040^M 00000003 00000003 f7ce3000 00000000 00000003 c015b109 f7ce3000 00000000^MCall Trace:
^M [<c015a5d5>] sys_access+0x85/0x150
^M [<c0109806>] old_mmap+0xd6/0x110
^M [<c015af95>] get_unused_fd+0xa5/0xe0
^M [<c015b109>] sys_open+0x49/0x90
^M [<c0103245>] syscall_call+0x7/0xb
^MCode: 8b 5c 24 5c 8d 43 01 a8 03 0f 44 c3 89 c2 83 ca 02 f6 c4 02 0f 45 c2 8d
54 24 10 89 54 24 0c 8b 54 24 60 89 44 24 04 8b 44 24 58 <89> 56 24 08 89 04 24
e8 62 19 01 00 85 c0 74 0e 8b 5c 24 50 83
^M Segmentation fault^M

--
Matthew Garrett | mjg59@srcf.ucam.org