Date: Tue, 3 Dec 2002 16:25:33 -0800 From: Chuck Tuffli <chuck_tuffli@agilent.com> To: freebsd-scsi@freebsd.org Subject: decoding a double fault Message-ID: <20021204002532.GB23841@thegrail.rose.agilent.com>
next in thread | raw e-mail | index | archive | help
I'm developing a CAM driver that works with 4.7-RELEASE and am running into a double fault. The driver is a KLD which loads and then detects a device on the loop. After detecting the device, I ran llama# camcontrol rescan 0:0:0 at which point the system double faults and prints the following on the console Fatal double fault: eip = 0xc0354952 esp = 0xc8b8a000 ebp = 0xc8b8a078 panic: double fault Debugger("panic") 0xc0354952 is the 3rd instruction into the function alltraps (i386/i386/exception.s:222) .globl _alltraps .type _alltraps,@function _alltraps: pushal pushl %ds pushl %es pushl %fs alltraps_with_regs_pushed: The backtrace looks like (kgdb) bt #0 Debugger (msg=0xc03aec3b "panic") at ../../i386/i386/db_interface.c:319 #1 0xc0211ea0 in panic (fmt=0xc03d9cc3 "double fault") at ../../kern/kern_shutdown.c:593 #2 0xc03637c7 in dblfault_handler () at ../../i386/i386/trap.c:1004 and the contents of common_tss in frame #2 are (kgdb) p/x common_tss $1 = {tss_link = 0x0, tss_esp0 = 0xc8b8dff0, tss_ss0 = 0x10, tss_esp1 = 0x0, tss_ss1 = 0x0, tss_esp2 = 0x0, tss_ss2 = 0x0, tss_cr3 = 0x0, tss_eip = 0xc0354952, tss_eflags = 0x10803, tss_eax = 0x0, tss_ecx = 0x0, tss_edx = 0xc8b8a080, tss_ebx = 0xc7e1bee0, tss_esp = 0xc8b8a000, tss_ebp = 0xc8b8a078, tss_esi = 0xc, tss_edi = 0x0, tss_es = 0x10, tss_cs = 0x8, tss_ss = 0x10, tss_ds = 0x10, tss_fs = 0x10, tss_gs = 0x2f, tss_ldt = 0x0, tss_ioopt = 0x680000} Is there enough information from the above to figure out what code was being executed, what address caused the fault, what exception was the OS handling when the fault occured, etc.? Any suggestions, including RTFM, are welcomed as long as you also include which manual I should be reading ;) -- Chuck Tuffli <chuck_tuffli AT NO_SPAM agilent DOT com> Agilent Technologies, Storage and Networking To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021204002532.GB23841>