NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/41591: nested-panic loop, no reboot
>Number: 41591
>Category: kern
>Synopsis: nested-panic loop, no reboot
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jun 13 20:10:00 +0000 2009
>Originator: Ken Raeburn
>Release: NetBSD 5.0
>Organization:
>Environment:
System: NetBSD raeburn.org 5.0 NetBSD 5.0 (GENERIC) #0: Sun Apr 26 18:50:08 UTC
2009
builds%b6.netbsd.org@localhost:/home/builds/ab/netbsd-5-0-RELEASE/i386/200904260229Z-obj/home/builds/ab/netbsd-5-0-RELEASE/src/sys/arch/i386/compile/GENERIC
i386
Architecture: i386
Machine: i386
>Description:
In an attempt to handle a panic (probably a copy_mbuf one like I just
reported), the kernel gets a fault in attempting to write out a crash
dump, panics, and attempts to write out a crash dump again, until I
hit a reset button (which this system doesn't appear to have) or
power-cycle it (so, no kernel messages remaining in memory).
When I got to the console, it was filled with repetitions of:
trap type 6 code 2 eip c05400b4 cs 8 eflags 10246 cr2 cd12e600 ilevel 8
panic: trap
Faulted in mid-traceback: aborting
dumping to dev 0,1 offset 8
dump fatal page fault in supervisor mode
trap type 6 code 2 eip c05400b4 cs 8 eflags 10246 cr2 cd12e600 ilevel 8
[...]
where c05400b4 is:
0xc054008f <dodumpsys+719>: call 0xc052d7b0 <pmap_extract>
0xc0540094 <dodumpsys+724>: test %al,%al
0xc0540096 <dodumpsys+726>: je 0xc05400b6 <dodumpsys+758>
0xc0540098 <dodumpsys+728>: mov 0xfffffff0(%ebp),%ecx
0xc054009b <dodumpsys+731>: mov 0xc0b15060,%eax
0xc05400a0 <dodumpsys+736>: mov %ecx,%edx
0xc05400a2 <dodumpsys+738>: shr $0xf,%edx
0xc05400a5 <dodumpsys+741>: shr $0xc,%ecx
0xc05400a8 <dodumpsys+744>: add %eax,%edx
0xc05400aa <dodumpsys+746>: and $0x7,%ecx
0xc05400ad <dodumpsys+749>: mov $0x1,%eax
0xc05400b2 <dodumpsys+754>: shl %cl,%eax
0xc05400b4 <dodumpsys+756>: or %al,(%edx) **********
0xc05400b6 <dodumpsys+758>: add $0x1000,%ebx
0xc05400bc <dodumpsys+764>: jne 0xc0540080 <dodumpsys+704>
0xc05400be <dodumpsys+766>: jmp 0xc053feb3 <dodumpsys+243>
so I'm guessing it's in the setbit call in the loop in
sparse_dump_mark, the only place in dumpsys.c where I see a call to
pmap_extract; either sparse_dump_physmap is a bad pointer or
p/PAGE_SIZE is out of range.
This obviously makes it worse for my router than 4.0.1, which just
rebooted on panic. :-(
>How-To-Repeat:
?
>Fix:
Once dumping has been started once, it should be disabled for
any further panic calls.
Home |
Main Index |
Thread Index |
Old Index