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>