>Number: 6616 >Category: kernel >Synopsis: vr(4) interface hangup/kernel panic problem >Confidential: yes >Severity: serious >Priority: medium >Responsible: bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: unknown >Arrival-Date: Sat May 28 12:00:01 GMT 2011 >Closed-Date: >Last-Modified: >Originator: >Release: >Organization: >Environment: System : OpenBSD 4.8 Details : OpenBSD 4.8-stable (GENERIC) #1: Fri Feb 18 03:21:59 JST 2011 darks...@grail.yomi.darkbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
Architecture: OpenBSD.i386 Machine : i386 >Description: There seems to be a problem with the vr driver ever since the 4.8 branch. This report is after applying : http://ftp.openbsd.org/pub/OpenBSD/patches/4.8/common/003_vr.patch, using the CVS stable branch. This manifests itself in two ways : - Randomly, the interface will hang up and have to be down/upped to be operational again. - I had a kernel panic happen with the following backtrace : uvm_fault(0xd0a05960, 0x3000, 0, 3) -> e kernel: page fault trap, code=0 Stopped at pool_do_get+0x111: movl %ecx,0(%eax) ddb> trace pool_do_get(d0a0d320,0,d57a2008,d5750a00,0) at pool_do_get+0x111 pool_get(d0a0d320,0,e,d5754f00,1) at pool_get+0x54 m_clget(0,1,d150e034,800,1c) at m_clget+0x6c vr_alloc_mbuf(d150e000,d150e604,60,d150e58c,4e) at vr_alloc_mbuf+0x41 vr_fill_rx_ring(d150e000,0,d5754f00,0,d59bb800) at vr_fill_rx_ring+0x51 vr_rxeof(d150e000,e100,c,1,e) at vr_rxeof+0x18e vr_intr(d150e000) at vr_intr+0xfd Xrecurse_legacy11() at Xrecurse_legacy11+0xb7 --- interrupt --- pf_tag_packet(d9786cf4,d9786cf0,2,d15e8600,d5783400) at pf_tag_packet+0x1 pf_test(2,d15e4000,d9786e20,0,d0a0d240) at pf_test+0x11ab ip_output(d5783400,0,d0a12b80,1,0) at ip_output+0x5f0 ip_forward(d5783400,0,0,0,0) at ip_forward+0x181 ipv4_input(d5783400,0,d9786f18,d0202089,d03e0058) at ipv4_input+0x655 ipintr(d03e0058,d0ac0010,d0890010,d9780010,d0ac1ad4) at ipintr+0x49 Bad frame pointer: 0xd9786f18 ddb> >How-To-Repeat: No certain way of reproducing. Sending huge amounts of traffic through the interface at full speed seems to make the above interface hang problem occur more frequently. >Fix: The following are NOT fixes but very dirty workarounds while holding out for 4.9. Inteface hangup was dealt with temporarily with the following crontab entry : */5 * * * * /sbin/ifconfig vr0 down; sleep 0.5; /sbin/ifconfig vr0 up Permanent crash was worked around using watchdog(4)/watchdogd(8). dmesg: OpenBSD 4.8-stable (GENERIC) #1: Fri Feb 18 03:21:59 JST 2011 darks...@grail.yomi.darkbsd.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 500 MHz cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX real mem = 536440832 (511MB) avail mem = 517705728 (493MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 20/70/03, BIOS32 rev. 0 @ 0xfac40 pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000 pcibios0: pcibios_get_intr_routing - function not supported pcibios0: PCI IRQ Routing information unavailable. pcibios0: PCI bus #0 is the last bus bios0: ROM list: 0xc8000/0xa800 cpu0 at mainbus0: (uniprocessor) amdmsr0 at mainbus0 pci0 at mainbus0 bus 0: configuration mode 1 (bios) io address conflict 0x6100/0x100 io address conflict 0x6200/0x200 pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x31 glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES vr0 at pci0 dev 6 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:00:24:ca:b0:90 ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034 vr1 at pci0 dev 7 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 5, address 00:00:24:ca:b0:91 ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034 vr2 at pci0 dev 8 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 9, address 00:00:24:ca:b0:92 ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034 vr3 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:00:24:ca:b0:93 ukphy3 at vr3 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034 hifn0 at pci0 dev 14 function 0 "Hifn 7955/7954" rev 0x00: LZS 3DES ARC4 MD5 SHA1 RNG AES PK, 32KB dram, irq 10 ath0 at pci0 dev 17 function 0 "Atheros AR5212" rev 0x01: irq 15 ath0: AR5213A 5.9 phy 4.3 rf5112a 3.6, FCC2A*, address 00:0b:6b:d9:c3:c6 glxpcib0 at pci0 dev 20 function 0 "AMD CS5536 ISA" rev 0x03: rev 3, 32-bit 3579545Hz timer, watchdog, gpio gpio0 at glxpcib0: 32 pins pciide0 at pci0 dev 20 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility wd0 at pciide0 channel 0 drive 0: <SanDisk SDCFH2-002G> wd0: 4-sector PIO, LBA, 1953MB, 4001760 sectors wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 pciide0: channel 1 ignored (disabled) "AMD CS5536 USB" rev 0x02 at pci0 dev 21 function 0 not configured ehci0 at pci0 dev 21 function 1 "AMD CS5536 USB" rev 0x02: irq 7 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1 isa0 at glxpcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: console com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard pcppi0 at isa0 port 0x61 spkr0 at pcppi0 nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS gpio1 at nsclpcsio0: 29 pins npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 biomask 61c5 netmask ffe5 ttymask ffff mtrr: K6-family MTRR support (2 registers) softraid0 at root root on wd0a swap on wd0b dump on wd0b usbdevs: Controller /dev/usb0: addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), AMD(0x1022), rev 1.00 port 1 powered port 2 powered port 3 powered port 4 powered >Release-Note: >Audit-Trail: >Unformatted: