Subject: Repeatable panic in wi_read_bap
To: None <current-users@netbsd.org>
From: Paul Ripke <stixpjr@ozemail.com.au>
List: current-users
Date: 12/30/2002 23:34:37
Since -current around October, I've been getting frequent panics in  
wi_read_bap. They seem to only occur when the system is under heavy I/O  
load, like reading a SCSI tape or NFS over tlp0 interface; the wireless  
network does not have to be busy for the system to panic. wi0 is  
running hostap, and otherwise seems fine. Now, it's getting to the  
point where the system randomly panics every few days, and I can quite  
easily force a panic. The panic details below are from -current in the  
last couple of days.

 From dmesg:
wi0 at pci0 dev 8 function 0: Intersil Prism2.5 Wireless Lan
wi0: interrupting at irq 11
wi0: 802.11 address 00:05:5d:5b:c5:f5
wi0: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi0: Intersil Firmware: Primary (1.0.5), Station (1.3.4)
wi0: supported rates: 1Mbps 2Mbps 5.5Mbps 11Mbps

 From kernel msgbuf:
fatal page fault in supervisor mode
trap type 6 code 2 eip c016d812 cs 8 eflags 10202 cr2 ca460000 ilevel 7
panic: trap
Begin traceback...
trap() at trap+0x206
--- trap (number 6) ---
wi_read_bap(c06fd000,286,3c,ca45f018,54fe) at wi_read_bap+0x96
wi_rx_intr(c06fd000,0,c01be614,c045ee7c,c06f1ec0) at wi_rx_intr+0x3c1
wi_intr(c06fd000,0,c0450010,30,10) at wi_intr+0x133
Xintr_legacy11() at Xintr_legacy11+0xa8
--- interrupt ---
idle_loop(c03fc6c0,0,c045ef50,c029125c,80000000) at idle_loop+0xc
bpendtsleep(c03fc6c0,4,c037fde6,0,0) at bpendtsleep
uvm_scheduler(c045a010,45a000,463000,0,0) at uvm_scheduler+0x78
main(0,0,0,0,0) at main+0x746
End traceback...

The tail of the gdb backtrace:
#14 0xc0232673 in panic ()
     at  
/usr/src/sys/arch/i386/compile/STIX-PC/../../../../kern/subr_prf.c:253
#15 0xc02aee2a in trap (frame={tf_gs = 16, tf_fs = 48, tf_es =  
-1070202864, tf_ds = 16,
       tf_edi = -901382144, tf_esi = -1066414080, tf_ebp = -1069159256,  
tf_ebx = -899116948,
       tf_edx = -899116948, tf_ecx = 8843, tf_eax = 41043, tf_trapno =  
6, tf_err = 2,
       tf_eip = -1072244718, tf_cs = 8, tf_eflags = 66050, tf_esp =  
-1065696256,
       tf_ss = -1069158878, tf_vm86_es = -901386216, tf_vm86_ds =  
-1069159252,
       tf_vm86_fs = -1070678531, tf_vm86_gs = -1})
     at  
/usr/src/sys/arch/i386/compile/STIX-PC/../../../../arch/i386/i386/ 
trap.c:290
#16 0xc0102cbe in calltrap ()
#17 0xc016be25 in wi_rx_intr (sc=0xc06fd000)
     at  
/usr/src/sys/arch/i386/compile/STIX-PC/../../../../dev/ic/wi.c:1136
#18 0xc016a7cb in wi_intr (arg=0xc06fd000)
     at  
/usr/src/sys/arch/i386/compile/STIX-PC/../../../../dev/ic/wi.c:501
#19 0xc01020ec in Xintr_legacy11 ()
#20 0xb in ?? ()

I couldn't find anything too similar in GNATS, shall I send-pr what  
I've got so far? Any assistance debugging this would be greatly  
appreciated.

Cheers,
--
Paul Ripke
Unix/OpenVMS/DBA
101 reasons why you can't find your Sysadmin:
68: It's 9AM. He/She is not working that late.
-- Koos van den Hout