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>