Date: Wed, 4 Dec 2002 14:02:22 -0800 (PST) From: Nate Lawson <nate@root.org> To: Chuck Tuffli <chuck_tuffli@agilent.com> Cc: freebsd-scsi@FreeBSD.ORG Subject: Re: decoding a double fault Message-ID: <Pine.BSF.4.21.0212041323310.10493-100000@root.org> In-Reply-To: <20021203010051.GA96898@cre85086tuf.rose.agilent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2 Dec 2002, Chuck Tuffli wrote: > I'm working on a CAM driver for 4.7-RELEASE and am looking for some > pointers on figuring out how I caused a double fault. The driver is a > KLD and had already been loaded. The command I was executing just > before the panic was a camcontrol rescan of the individual devices. > Before running rescan, the driver did sucessfully detect 4 devices > (This problem doesn't show up if I run rescan manually for each device). > > The info on the terminal after the panic is > > Fatal double fault: > eip = 0xc0371e68 > esp = 0xc60aea50 > ebp = 0xc612ea7c > > where 0xc0371e68 is in bus_dmamap_load at line 437 > ... > vaddr = (vm_offset_t)buf; > sg = &dm_segments[0]; > seg = 1; > sg->ds_len = 0; /* !!! line 437 */ > > nextpaddr = 0; > do { > ... Nothing in CAM calls bus_* so you must be calling it. :) isp calls it in its reset routine. async handler problems? > The backtrace just shows the fault > > (kgdb) bt > #0 Debugger (msg=0xc03ce15b "panic") at ../../i386/i386/db_interface.c:319 > #1 0xc021158c in panic (fmt=0xc03fc7c3 "double fault") > at ../../kern/kern_shutdown.c:593 > #2 0xc0382f13 in dblfault_handler () at ../../i386/i386/trap.c:1004 That's because you lost the frame when the fault handler faulted. -Nate 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?Pine.BSF.4.21.0212041323310.10493-100000>