Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 04 Nov 2000 04:29:42 +0100
From:      Tor.Egge@fast.no
To:        gibbs@freebsd.org
Cc:        freebsd-scsi@freebsd.org
Subject:   aic7xxx problem in 4.2-BETA
Message-ID:  <200011040329.EAA10315@midten.fast.no>

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


The aic7xxx driver in FreeBSD 4.2-BETA easily crashes during probing
and error recovery.  On a machine with 14 disks and 3 host adapters
most boot attempts results in a panic.

ahc0: <Adaptec 29160 Ultra160 SCSI adapter> port 0xec00-0xecff mem 0xfe002000-0xfe002fff irq 16 at device 2.0 on pci0
ahc1: <Adaptec aic7899 Ultra160 SCSI adapter> port 0xdc00-0xdcff mem 0xf8fff000-0xf8ffffff irq 5 at device 4.0 on pci2
ahc2: <Adaptec aic7899 Ultra160 SCSI adapter> port 0xd800-0xd8ff mem 0xf8ffe000-0xf8ffefff irq 10 at device 4.1 on pci2


(ahc2:A:10:5): Sending PPR bus_width 1, period 9, offset 3f, ppr_options 2
(ahc2:A:10:5): Received PPR width 9, period 1, offset 3f,options 2
        Filtered to width 1, period 9, offset 3f, options 2


Fatal trap 12: page fault while in kernel mode
mp_lock = 01000002; cpuid = 1; lapic.id = 00000000
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc014207c
stack pointer           = 0x10:0xff811ea4
frame pointer           = 0x10:0xff811eb4
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         = Idle
interrupt mask          = cam  <- SMP: XXX
kernel: type 12 trap, code=0
Stopped at      ahc_match_scb+0x18:     movl    0(%esi),%eax
db> trace
ahc_match_scb(c408a400,0,d,41,5,ff,0) at ahc_match_scb+0x18
ahc_search_qinfifo(c408a400,d,41,5,ff) at ahc_search_qinfifo+0x14b
ahc_freeze_devq(c408a400,c409316c) at ahc_freeze_devq+0x5d
ahc_handle_seqint(c408a400,71) at ahc_handle_seqint+0x1b5
ahc_freebsd_intr(c408a400,6c010420,0,1,0) at ahc_freebsd_intr+0xd1
intr_mux(c1c6d9a0,0,ff810018,c0270010,c40a0010) at intr_mux+0x1d
Xresume10() at Xresume10+0x59
--- interrupt, eip = 0xc0268fa2, esp = 0xff811ff4, ebp = 0 ---
idle_loop() at idle_loop+0x44
db> call cpu_reset


O(ahc0:A:2:5): Received PPR width 9, period 1, offset 3f,options 2
        Filtered to width 1, period 9, offset 3f, options 2
 panic: HOST_MSG_LOOP with invalid SCB e

mp_lock = 01000002; cpuid = 1; lapic.id = 00000000
Debugger("panic")
Stopped at      Debugger+0x34:  movb    $0,in_Debugger.597
db> trace
Debugger(c028a652) at Debugger+0x34
panic(c02847e0,e,c408ac00,61,68000400) at panic+0xa4
ahc_handle_seqint(c408ac00,61) at ahc_handle_seqint+0x7a9
ahc_freebsd_intr(c408ac00,6b00049a,c4070018,c0250010,10) at ahc_freebsd_intr+0xd1
Xresume5() at Xresume5+0x56
--- interrupt, eip = 0xc027a0df, esp = 0xff8119d0, ebp = 0xff8119dc ---
siocntxwait(3f8,3f8,286,ff811a14,c027a5bf) at siocntxwait+0x13
siocnclose(ff811a0c,3f8) at siocnclose+0x11
siocnputc(c02d63cc,20,5,ff811a40,c0172d3f) at siocnputc+0x9f
cnputc(20,c4278800,1,20,ff811ad8) at cnputc+0x42
putchar(20,ff811afc) at putchar+0x97
kvprintf(c027ce96,c0172ca8,ff811afc,a,ff811b10) at kvprintf+0x86
printf(c027ce92,c4278800,c4278800,c42a9eb0,1) at printf+0x3d
cam_periph_error(c4278800,0,5,c4278c0c) at cam_periph_error+0x416
probedone(c4269200,c4278800,c1c6d9a0,40000400,ffffffff) at probedone+0x14c
camisr(c02d3f70,ff811f10,c025bab4,40000400,c026ffe4) at camisr+0x1eb
swi_cambio(40000400,c026ffe4,c026faab,40000400,c4088800) at swi_cambio+0xd
splz_swi(c1c6d9a0,0,ff810018,c0270010,c40a0010) at splz_swi+0x14
Xresume10() at Xresume10+0x59
--- interrupt, eip = 0xc026539c, esp = 0xff811f58, ebp = 0 ---
MPgetlock_edx() at MPgetlock_edx+0x28
db> 

sg[0] - Addr 0x10809000 : Length 4096
sg[1] - Addr 0x116ea000 : Length 4096
sg[2] - Addr 0x1162b000 : Length 1536
(da4:ahc0:0:0:0): Queuing a BDR SCB
ahc_intr: AWAITING_MSG for an SCB that does not have a waiting message
SCSIID = 47, target_mask = 10
panic: SCB = 17, SCB Control = 60, MSG_OUT = ff SCB flags = 4000
mp_lock = 00000002; cpuid = 0; lapic.id = 01000000
pDebugger("panic")
Stopped at      Debugger+0x34:  movb    $0,in_Debugger.597
Debugger(c028a652) at Debugger+0x34
panic(c0284f80,11,60,ff,4000) at panic+0xa4
ahc_setup_initiator_msgout(c4076600,e39cdd0c,c40853c0) at ahc_setup_initiator_msgout+0x1af
ahc_handle_seqint(c4076600,61) at ahc_handle_seqint+0x7bf
ahc_freebsd_intr(c4076600,0,18,10,c0160010) at ahc_freebsd_intr+0xd1
Xresume16() at Xresume16+0x59
--- interrupt, eip = 0xc026ffe4, esp = 0xe39cdd88, ebp = 0xe39cdda8 ---
splx(cc0e9438,c02c6d80) at splx+0x30
ffs_rawread(e2ebe2c0,e39cded8,c43666c0,e2ebe2c0,e39cded8) at ffs_rawread+0x300
ffs_read(e39cde68,e39ad2a0,e39ad2a0,80000,80) at ffs_read+0x74
vn_read(c43666c0,e39cded8,c439bb00,1,e39ad2a0) at vn_read+0x118
dofileread(e39ad2a0,c43666c0,3,1b864000,80000) at dofileread+0xb0
pread(e39ad2a0,e39cdf80,77225800,0,80000) at pread+0x48
syscall2(2f,2f,2f,80000,0) at syscall2+0x219
Xint0x80_syscall() at Xint0x80_syscall+0x2b
db> 

- Tor Egge


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?200011040329.EAA10315>