Crash in today's -CURRENT

From: Joe Marcus Clarke <marcus_at_FreeBSD.org>
Date: Sun, 12 Dec 2004 23:29:36 -0500
I have a Dell Precision workstation 340 that has been running -CURRENT
happily now for a few months.  I upgraded to today's -CURRENT, and it
will no longer boot (even in SAFE mode).  The crash is similar to the
one reported by Alexandre Kovalenko (i.e. in the CAM code), but not the
same:

acd0: DVDROM <LITEON DVD-ROM LTD163/GDMF> at ata1-master PIO4
ata3-master: FAILURE - ATA_IDENTIFY timed out
ata3-master: FAILURE - ATA_IDENTIFY timed out
ata3-master: FAILURE - ATA_IDENTIFY timed out
Waiting 8 seconds for SCSI devices to settle
ata3-master: FAILURE - ATA_IDENTIFY timed out
ata3-master: FAILURE - ATA_IDENTIFY timed out

Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x4
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc0431dd2
stack pointer		= 0x10:0xe9ce6ca8
frame pointer		= 0x10:0xe9ce6ca8
code segment		= base 0x0, limit 0xfffff, type = 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 20 (irq9:mpt0)
Stopped at      xpt_freeze_devq+0x1e:   movl    0x4(%eax),%eax

xpt_freeze_devq(c3064580) at xpt_freeze_devq+0x1e
mpt_done(c315a800,bebec5c0,c318f380,4,c3076880) at mpt_done+0x691
mpt_intr(c315a800,c307da80,0,0,c30c1000) at mpt_intr+0x69
ithread_loop(c3076880,e9ce7d48,c04d9530,0) at ithread_loop+0xad
fork_exit(c04d9530,c3076880,e9ce7d48) at fork_exit+0x54
fork_trampoline() at fork_trampoline+0x8
--- trap 0x1, eip = 0, esp = 0xe9ce7d7c, ebp = 0 ---

(gdb) l *xpt_freeze_devq+0x1e
0xc0431dd2 is in xpt_freeze_devq (/usr/src/sys/cam/cam_xpt.c:4671).
4666             * if a ccb's status is still CAM_REQ_INPROG
4667             * under spl protection just before they queue
4668             * the CCB.  See ahc_action/ahc_freeze_devq for
4669             * an example.
4670             */
4671            ccbh = TAILQ_LAST(&path->device->ccbq.active_ccbs,
ccb_hdr_tailq);
4672            if (ccbh && ccbh->status == CAM_REQ_INPROG)
4673                    ccbh->status = CAM_REQUEUE_REQ;
4674            splx(s);
4675            return (path->device->qfrozen_cnt);


The only new output (besides the panic) is the ATA_IDENTIFY errors.
This device corresponds to my Maxtor SATA drive on my Promise SATA
controller (see http://www.marcuscom.com/downloads/FUGU.dmesg for a
sample dmesg).  The kernel that fails is:

FreeBSD 6.0-CURRENT #17: Sun Dec 12 19:08:58 EST 2004

The kernel that last worked was:

FreeBSD 6.0-CURRENT #16: Fri Dec  3 03:03:39 EST 2004

Besides fixing the crash, I'd also like to get my SATA drive back.
Thanks.

Joe

-- 
Joe Marcus Clarke
FreeBSD GNOME Team      ::      gnome_at_FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome

Received on Mon Dec 13 2004 - 03:29:48 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:24 UTC