Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jun 2001 16:22:56 -0400 (EDT)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        jhb@freebsd.org
Cc:        freebsd-alpha@freebsd.org, alfred@freebsd.org
Subject:   Wow, have I got a stack for you!
Message-ID:  <15135.58016.753596.764419@grasshopper.cs.duke.edu>

next in thread | raw e-mail | index | archive | help

Take a look at the following trap, courtesy the all-singing /
all-dancing ddb traceback from NetBSD.

We're trapping in pmap_insert_entry(), then trapping in vm_fault1().
We start to print out the trap info, but then we get a clock
interrupt.  The clock interrupt then traps.  Witness does its thing
and brings this mess to a screeching halt. (it doesn't hurt that
we're finally at ipl 7).

It sure looks like somebody is blowing away some low-level vm state.

A patch to improve alpha ddb is up for review at
http://people.freebsd.org/~gallatin/ddb.diff

Cheers,

Drew


panic: blockable sleep lock (sleep mutex) Giant @ ../../vm/vm_fault.c:213
cpuid = 0; panic
Stopped at      Debugger+0x34:  zapnot  v0,#0xf,a0      <v0=0x7,a0=0x6>
db> tr
Debugger() at Debugger+0x34
panic() at panic+0x178
witness_lock() at witness_lock+0x240
vm_fault() at vm_fault+0x108
trap() at trap+0xfc8
XentMM() at XentMM+0x2c
--- memory management fault (from ipl 7) ---
hardclock() at hardclock+0x308
handleclock() at handleclock+0x22c
alpha_clock_interrupt() at alpha_clock_interrupt+0x68
interrupt() at interrupt+0xb8
XentInt() at XentInt+0x28
--- interrupt (from ipl 0) ---
siocntxwait() at siocntxwait+0x50
siocnclose() at siocnclose+0x30
siocnputc() at siocnputc+0x98
cnputc() at cnputc+0x4c
putchar() at putchar+0xf4
kvprintf() at kvprintf+0xcc
printf() at printf+0xac
printtrap() at printtrap+0x100
trap() at trap+0x1214
XentMM() at XentMM+0x2c
--- memory management fault ---
vm_fault1() at vm_fault1+0x1d8
vm_fault() at vm_fault+0x204
trap() at trap+0xfc8
XentMM() at XentMM+0x2c
--- memory management fault ---
pmap_insert_entry() at pmap_insert_entry+0x6c
pmap_enter_quick() at pmap_enter_quick+0x1f4
pmap_object_init_pt() at pmap_object_init_pt+0x198
vm_map_insert() at vm_map_insert+0x344
elf_load_section() at elf_load_section+0x32c
exec_elf_imgact() at exec_elf_imgact+0x4f8
execve() at execve+0x274
syscall() at syscall+0x6f8
XentSys() at XentSys+0x64
--- syscall (59, FreeBSD ELF, execve) ---
--- user mode ---

db> show locks
exclusive (sleep mutex) vm (0xfffffc000080a240) locked @ ../../vm/vm_map.c:2583
exclusive (sleep mutex) Giant (0xfffffc000080aed8) locked @ ../../vm/vm_fault.c:213
exclusive (spin mutex) callout (0xfffffc0000804400) locked @ ../../kern/kern_clock.c:213
db> 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15135.58016.753596.764419>