Hello Micheal, Hello Hacker,
Michael Hohmuth wrote:
Other times the reboot command causes a seg fault (null pointer derefenrence) after the message "Send all processes kill sig" (This is reported earlier).
I haven't ever seen this. Do you get a register/stack dump from L4Linux? In this case it should be possible to find the location of the page fault (with System.map and disassembly output ("objdump -ld vmlinux")).
this is a copy of the message i have got during reboot (with some history):
[booting]
login: Strg/Alt/Del Runing /sbin/init.d/halt .... ... killall5 -9 [now the error message] root: rcvd 1c, 421098 [Hmm, Strange .... pte: 67 and eip: 421098] pte: 67 page fault rcv error = 0x40 KDB: rcv from pager failed Dump: of trap_state at 0xc0141f30:
EAX: 00000000 EBX: 00000040 ECX: f000c000 EDX: 00003200 ESI: c0141800 EDI: c0141800 EBP: c0141fa8 ESP: c0141f74 EIP: f00066be EFLAG: 0000324b CS: 0010 SS: 0018 DS: 002b ES: 002b FS: 002b GS: 002b trap no 3, error 00000000, from kernel mode
f000c040 f000c1be 00000004 0001f498 c0141800 c0141fa0 c0141800 0000001c c014f000 0000000f 00421098 00000082 00000040 c0141fcc f000464b c0141800 0000001c 00000004 00000000 0001f498 00000000 f0011a80 c0141fe8 f000876d 0000001c 00000004 004c64a0 0001f018 0001f018 0001efe8 00420a70 00000023
(probably some wrong numbers)
The address 421098 is pointing to line 309 in funtion do_signal() in signal.c
/* Did we come from a system call? */ 309: if (regs->orig_eax >= 0) { /* Restart the system call - no handlers present */ if (regs->eax == -ERESTARTNOHAND || regs->eax == -ERESTARTSYS || regs->eax == -ERESTARTNOINTR) { regs->eax = regs->orig_eax; regs->eip -= 2; } } return 0;
objdump:
/volumes/v1/SRC1/L4/l4-981012/l4linux-2.0.21/arch/l4-i386/kernel/signal.c:309 421095: 8b 7d 0c movl 0xc(%ebp),%edi ->421098: 8b 57 1c movl 0x1c(%edi),%edx 42109b: 85 d2 testl %edx,%edx 42109d: 7c 22 jl 4210c1 <do_signal+0x1e1>
I hope this helps to catch the problem. It was mentioned earlier that this error occures only occasionaly.
With my best regards Harald Fritzsche