lkml.org 
[lkml]   [1996]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Oopses with 2.1.8


On Tue, 12 Nov 1996, Philippe Strauss wrote:
>
> I've posted some days ago oops report on my box with 2.1.8.
> Nobody answered so i must be the only one seeing this.

At least the panic you post is "impossible", so somehting very subtle
indeed must be going on.

> Nov 12 15:16:52 sicel-home-1-4 kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000064
> Nov 12 15:16:52 sicel-home-1-4 kernel: current->tss.cr3 = 00101000, Dr3 = 00101000
> Nov 12 15:16:52 sicel-home-1-4 kernel: *pde = 00000000
> Nov 12 15:16:52 sicel-home-1-4 kernel: Oops: 0000
> Nov 12 15:16:52 sicel-home-1-4 kernel: CPU: 0
> Nov 12 15:16:52 sicel-home-1-4 kernel: EIP: 0010:[<c012fb25>]
> Nov 12 15:16:52 sicel-home-1-4 kernel: EFLAGS: 00010046
> Nov 12 15:16:52 sicel-home-1-4 kernel: eax: 0000000c ebx: c0275c10 ecx: 00000001 edx: c0275c10
> Nov 12 15:16:52 sicel-home-1-4 kernel: esi: c1c3d0cc edi: 00000054 ebp: c0084808 esp: c01e34e0
> Nov 12 15:16:52 sicel-home-1-4 kernel: ds: 0018 es: 0018 ss: 0018
> Nov 12 15:16:52 sicel-home-1-4 kernel: Process swapper (pid: 0, process nr: 0, stackpage=c01e16bc)
> Nov 12 15:16:52 sicel-home-1-4 kernel: Stack: c0275c10 c1c3d0cc 00000002 c0084808 c0084808 c01259a5 c0275c10 c1c3d0cc
> Nov 12 15:16:52 sicel-home-1-4 kernel: c0084860 0000000a c01a6313 c1c3d0cc c1c3d0cc 00000001 00000054 00000010
> Nov 12 15:16:52 sicel-home-1-4 kernel: c0084808 00000000 c01a67e9 c0084808 00000001 00000010 00000000 c0084808
> Nov 12 15:16:52 sicel-home-1-4 kernel: Call Trace: [<c01259a5>] [<c01a6313>] [<c01a67e9>] [<c01a2ac4>] [<c01ae685>]
> [<c01ae6aa>] [<c01ae70f>]
> Nov 12 15:16:52 sicel-home-1-4 kernel: [<c01af1e1>] [<c0111680>] [<c01ad621>] [<c01b1753>] [<c010c8ca>] [<c010c391>] [<c0109654>] [<c010a7e8>]
> Nov 12 15:16:52 sicel-home-1-4 kernel: [<c0109348>] [<c01091c3>] [<c01c5e5d>] [<c0116c08>]
> Nov 12 15:16:52 sicel-home-1-4 kernel: Code: 66 83 7f 10 02 74 07 83 7c 24 24 00 74 0f c7 44 24 10 12 08
> Nov 12 15:16:52 sicel-home-1-4 kernel: Aiee, killing interrupt handler

Can you tell me what the call trace is? You should never get a "killing
interrupt handler" message from the exec() code, because no interrupt
handler should ever try to execve anything.

> Nov 12 15:16:52 sicel-home-1-4 kernel: kfree of non-kmalloced memory: c01e3704, next= 00000000, order=0
> Nov 12 15:16:52 sicel-home-1-4 kernel: kfree of non-kmalloced memory: c01e36f4, next= 00000000, order=0
> Nov 12 15:16:52 sicel-home-1-4 kernel: kfree of non-kmalloced memory: c01e3c08, next= 00000000, order=0
> Nov 12 15:16:52 sicel-home-1-4 kernel: idle task may not sleep
> Nov 12 15:16:52 sicel-home-1-4 last message repeated 4 times
> Nov 12 15:16:55 sicel-home-1-4 kernel: Socket destroy delayed (r=0 w=248)
> Nov 12 15:17:05 sicel-home-1-4 last message repeated 3 times
> Nov 12 15:17:49 sicel-home-1-4 syslogd: exiting on signal 15
>
> went through colrm and ksymoops:
>
> Using `/boot/SysMap/System.map.218.96.11.12.14.44' to map addresses to symbols.
>
> >>EIP: c012fb25 <load_elf_interp+189/2e0>
>
> Code: c012fb25 <load_elf_interp+189/2e0> cmpw $0x2,0x10(%edi)

This is the test

if (interp_elf_ex->e_type == ET_EXEC || load_addr_set) {

in particular, "interp_elf_ex" is in %edi, and has a value of 0x00000054,
which is indeed a very bad kernel pointer.

However, the "funny" thing is that the same pointer should have been used
at the top of the for() loop that the test is inside, so the exception
should have happened much earlier. That's why I'd like to see the
symbolic version of the call trace, because I suspect the panic comes
from something jumping through a corrupt pointer, and I'd like to know
who the jumper is..

> What are thos nop'ses replacing the movl?? Self modifying code? Shitty DRAM?
> Something in kernel space writing stuff around?

No, it's just that the kernel panic doesn't give more than 20 bytes of
instructions, and the disassembler will give bogus disassembly for the
last bytes due to incomplete partial instructions.

Oh, and you might just try out 2.1.9, which has some fixes to the
networking code, maybe it makes a difference..

Linus

\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.080 / U:0.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site