Date: Wed, 18 Mar 2009 09:41:27 +0100 (CET) From: Ruben van Staveren <ruben@helium.verweg.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/132769: 2 LOR's with pf task mtx / ifnet and rtentry / ifnet during early boot Message-ID: <200903180841.n2I8fRfd005910@helium.verweg.com> Resent-Message-ID: <200903180850.n2I8o3an061900@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 132769 >Category: kern >Synopsis: 2 LOR's with pf task mtx / ifnet and rtentry / ifnet during early boot >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 18 08:50:03 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Ruben van Staveren >Release: FreeBSD 7.1-STABLE i386 >Organization: >Environment: System: FreeBSD helium.verweg.com 7.1-STABLE FreeBSD 7.1-STABLE #58: Tue Mar 17 14:39:08 CET 2009 root@helium.verweg.com:/usr/obj/usr/cvsup/7-stable/src/sys/HELIUM-SMP i386 >Description: Still having WITNESS enabled since kern/132404 I've spotted the following ifnet related LOR's during bootup. the pf related one is also visible in that pr. Same configuration applies to the system, sources are of Tue Mar 17 15:43:48 CET 2009 If required, I can generate a textdump of this state. 1st lock order reversal: 1st 0xc099e28c pf task mtx (pf task mtx) @ /usr/cvsup/7-stable/src/sys/contrib/pf/net/pf_ioctl.c:1394 2nd 0xc0a0c708 ifnet (ifnet) @ /usr/cvsup/7-stable/src/sys/net/if.c:1574 KDB: stack backtrace: db_trace_self_wrapper(c0923147,e6cd4a34,c0643355,c0924722,c0a0c708,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0924722,c0a0c708,c093a967,c093a967,c092a5a0,...) at kdb_backtrace+0x29 witness_checkorder(c0a0c708,9,c092a5a0,626,201,...) at witness_checkorder+0x5e5 _mtx_lock_flags(c0a0c708,0,c092a5a0,626,c5727000,...) at _mtx_lock_flags+0x34 ifunit(c5727000,c5727000,e0,572,c0924322,...) at ifunit+0x2f pfioctl(c47a3600,c0ec442d,c5602900,3,c4cce690,...) at pfioctl+0x27f1 devfs_ioctl_f(c4a1e04c,c0ec442d,c5602900,c44b3000,c4cce690,...) at devfs_ioctl_f+0xf5 kern_ioctl(c4cce690,3,c0ec442d,c5602900,1000000,...) at kern_ioctl+0x243 ioctl(c4cce690,e6cd4cfc,c,c09384e2,c0966f50,...) at ioctl+0x134 syscall(e6cd4d38) at syscall+0x2e3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x481abf03, esp = 0xbfbfbc3c, ebp = 0xbfbfbc58 --- 2nd lock order reversal: 1st 0xc568715c rtentry (rtentry) @ /usr/cvsup/7-stable/src/sys/net/route.c:1020 2nd 0xc0a0c708 ifnet (ifnet) @ /usr/cvsup/7-stable/src/sys/net/if.c:176 KDB: stack backtrace: db_trace_self_wrapper(c0923147,c42a65d4,c0643355,c0924722,c0a0c708,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0924722,c0a0c708,c093a967,c093a967,c092a5a0,...) at kdb_backtrace+0x29 witness_checkorder(c0a0c708,9,c092a5a0,b0,c5729928,...) at witness_checkorder+0x5e5 _mtx_lock_flags(c0a0c708,0,c092a5a0,b0,1,...) at _mtx_lock_flags+0x34 ifnet_byindex(1,c5729940,c5729900,c42a6650,0,...) at ifnet_byindex+0x2f sa6_recoverscope(c42a667c,0,c081f752,1c1c,0,...) at sa6_recoverscope+0x95 nd6_is_new_addr_neighbor(c4694400,d22df600,c47a374c,8,c47a3700,...) at nd6_is_new_addr_neighbor+0x55 nd6_rtrequest(b,c56870f8,c42a6794,c56870f8,c42a6760,...) at nd6_rtrequest+0x5d rtrequest1_fib(b,c42a6794,c42a6828,0,0,...) at rtrequest1_fib+0x6fd rtrequest_fib(b,c42a68a0,0,0,0,...) at rtrequest_fib+0x5e rtalloc1_fib(c42a68a0,1,0,0,c42a68cc,...) at rtalloc1_fib+0x103 rtalloc1(c42a68a0,1,0,387,c44c8690,...) at rtalloc1+0x27 nd6_lookup(c42a69b8,1,c4694400,c0974e20,0,...) at nd6_lookup+0x55 nd6_cache_lladdr(c4694400,c42a69b8,c5b0205e,8,85,...) at nd6_cache_lladdr+0x7e nd6_rs_input(c4956d00,28,10,1,1c,...) at nd6_rs_input+0x2b4 icmp6_input(c42a6c84,c42a6c6c,3a,1bc,0,...) at icmp6_input+0x19c0 ip6_input(c5acd700,0,c092b306,8c,c0a0d264,...) at ip6_input+0xe2c netisr_processqueue(c09b9cb0,0,c092b306,f6,c4496b00,...) at netisr_processqueue+0x8b swi_net(0,0,c091e3dc,4b6,c45056e8,...) at swi_net+0x9b ithread_loop(c44c5700,c42a6d38,c091e1d8,322,c44c62b8,...) at ithread_loop+0x155 fork_exit(c05f0810,c44c5700,c42a6d38) at fork_exit+0x94 fork_trampoline() at fork_trampoline+0x8 Full dmesg follows Copyright (c) 1992-2009 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 7.1-STABLE #58: Tue Mar 17 14:39:08 CET 2009 root@helium.verweg.com:/usr/obj/usr/cvsup/7-stable/src/sys/HELIUM-SMP WARNING: WITNESS option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) 4 CPU 3.00GHz (2993.02-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0xf29 Stepping = 9 Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE> Features2=0x4400<CNXT-ID,xTPR> Logical CPUs per core: 2 real memory = 1072627712 (1022 MB) avail memory = 1031323648 (983 MB) ACPI APIC Table: <XPC AWRDACPI> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 WITNESS: spin lock cpuset not in order list WITNESS: spin lock intrcnt not in order list ioapic0: Changing APIC ID to 2 ioapic0 <Version 1.1> irqs 0-23 on motherboard kbd1 at kbdmux0 WITNESS: spin lock ctl.rm_mtx not in order list cryptosoft0: <software crypto> on motherboard acpi0: <XPC AWRDACPI> on motherboard acpi0: Overriding SCI Interrupt from IRQ 9 to IRQ 21 acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, 3fdf0000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0 acpi_button0: <Power Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <ATI RS300_200 AGP bridge> on hostb0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 vgapci0: <VGA-compatible display> mem 0xe4000000-0xe4ffffff,0xd0000000-0xdfffffff,0xe5000000-0xe5ffffff irq 16 at device 5.0 on pci1 nvidia0: <GeForce 6200 A-LE> on vgapci0 vgapci0: child nvidia0 requested pci_enable_busmaster vgapci0: child nvidia0 requested pci_enable_io vgapci0: child nvidia0 requested pci_enable_io nvidia0: [GIANT-LOCKED] nvidia0: [ITHREAD] WITNESS: spin lock dev.rm_mtx not in order list ohci0: <OHCI (generic) USB controller> mem 0xe7100000-0xe7100fff irq 19 at device 19.0 on pci0 ohci0: [GIANT-LOCKED] ohci0: [ITHREAD] usb0: OHCI version 1.0, legacy support usb0: SMM does not respond, resetting usb0: <OHCI (generic) USB controller> on ohci0 usb0: USB revision 1.0 uhub0: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0 uhub0: 3 ports with 3 removable, self powered ohci1: <OHCI (generic) USB controller> mem 0xe7101000-0xe7101fff irq 19 at device 19.1 on pci0 ohci1: [GIANT-LOCKED] ohci1: [ITHREAD] usb1: OHCI version 1.0, legacy support usb1: SMM does not respond, resetting usb1: <OHCI (generic) USB controller> on ohci1 usb1: USB revision 1.0 uhub1: <ATI OHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1 uhub1: 3 ports with 3 removable, self powered ehci0: <ATI SB200 USB 2.0 controller> mem 0xe7102000-0xe7102fff irq 19 at device 19.2 on pci0 ehci0: [GIANT-LOCKED] ehci0: [ITHREAD] usb2: EHCI version 1.0 usb2: companion controllers, 3 ports each: usb0 usb1 usb2: <ATI SB200 USB 2.0 controller> on ehci0 usb2: USB revision 2.0 uhub2: <ATI EHCI root hub, class 9/0, rev 2.00/1.00, addr 1> on usb2 uhub2: 6 ports with 6 removable, self powered umass0: <Ltd Winter Ver1.3, class 0/0, rev 2.00/0.05, addr 2> on uhub2 pci0: <serial bus, SMBus> at device 20.0 (no driver attached) atapci0: <ATI IXP200 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xf000-0xf00f at device 20.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] isab0: <PCI-ISA bridge> at device 20.3 on pci0 isa0: <ISA bus> on isab0 pcib2: <ACPI PCI-PCI bridge> at device 20.4 on pci0 pci2: <ACPI PCI bus> on pcib2 atapci1: <SiI SiI 3512 SATA150 controller> port 0xc000-0xc007,0xc400-0xc403,0xc800-0xc807,0xcc00-0xcc03,0xd000-0xd00f mem 0xe7082000-0xe70821ff irq 17 at device 5.0 on pci2 atapci1: [ITHREAD] ata2: <ATA channel 0> on atapci1 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci1 ata3: [ITHREAD] bfe0: <Broadcom BCM4401 Fast Ethernet> mem 0xe7080000-0xe7081fff irq 18 at device 6.0 on pci2 miibus0: <MII bus> on bfe0 bmtphy0: <BCM4401 10/100baseTX PHY> PHY 1 on miibus0 bmtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto bfe0: Ethernet address: 00:30:1b:b3:10:71 bfe0: [ITHREAD] fwohci0: <VIA Fire II (VT6306)> port 0xd400-0xd47f mem 0xe7083000-0xe70837ff irq 19 at device 11.0 on pci2 fwohci0: [FILTER] fwohci0: OHCI version 1.0 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:30:1b:b3:00:00:10:d5 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 dcons_crom0: <dcons configuration ROM> on firewire0 dcons_crom0: bus_addr 0x1488000 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:30:1b:00:10:d5 fwe0: Ethernet address: 02:30:1b:00:10:d5 fwip0: <IP over FireWire> on firewire0 fwip0: Firewire address: 00:30:1b:b3:00:00:10:d5 @ 0xfffe00000000, S400, maxrec 2048 sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: BUS reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode pcm0: <ATI IXP 200> mem 0xe7105000-0xe71050ff irq 17 at device 20.5 on pci0 pcm0: [ITHREAD] acpi_tz0: <Thermal Zone> on acpi0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A sio0: [FILTER] cpu0: <ACPI CPU> on acpi0 p4tcc0: <CPU Frequency Thermal Control> on cpu0 cpu1: <ACPI CPU> on acpi0 p4tcc1: <CPU Frequency Thermal Control> on cpu1 pmtimer0 on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 device_attach: atkbd0 attach returned 6 ppc0: parallel port not found. sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ukbd0: <Logitech USB Receiver, class 0/0, rev 1.10/17.00, addr 2> on uhub0 kbd0 at ukbd0 ums0: <Logitech USB Receiver, class 0/0, rev 1.10/17.00, addr 2> on uhub0 ums0: 16 buttons and Z dir. NULL mp in getnewvnode() Timecounters tick every 1.000 msec IPsec: Initialized Security Association Processing. firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) ad0: 157066MB <Hitachi HDS722516VLAT80 V34OA6EA> at ata0-master UDMA100 acd0: DVDR <NEC DVD RW ND-3500AG/2.16> at ata1-master UDMA33 pcm0: <Avance Logic ALC650 AC97 Codec> GEOM_LABEL: Label for provider ad0s1a is ufs/root. GEOM_LABEL: Label for provider ad0s1d is ufs/var. GEOM_LABEL: Label for provider ad0s1e is ufs/usr. GEOM_LABEL: Label for provider ad0s1f is ufs/jail. (probe8:ata1:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe8:ata1:0:0:0): CAM Status: SCSI Status Error (probe8:ata1:0:0:0): SCSI Status: Check Condition (probe8:ata1:0:0:0): NOT READY asc:3a,0 (probe8:ata1:0:0:0): Medium not present sks:0x80,0xffff (probe8:ata1:0:0:0): Unretryable error (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition (probe0:umass-sim0:0:0:0): NOT READY asc:3a,0 (probe0:umass-sim0:0:0:0): Medium not present (probe0:umass-sim0:0:0:0): Unretryable error (probe0:umass-sim0:0:0:1): TEST UNIT READY. CDB: 0 20 0 0 0 0 (probe0:umass-sim0:0:0:1): CAM Status: SCSI Status Error (probe0:umass-sim0:0:0:1): SCSI Status: Check Condition (probe0:umass-sim0:0:0:1): NOT READY asc:3a,0 (probe0:umass-sim0:0:0:1): Medium not present (probe0:umass-sim0:0:0:1): Unretryable error SMP: AP CPU #1 Launched! WARNING: WITNESS option enabled, expect reduced performance. cd0 at ata1 bus 0 target 0 lun 0 cd0: <_NEC DVD_RW ND-3500AG 2.16> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present da0 at umass-sim0 bus 0 target 0 lun 0 da0: <USB2.0 CardReader CF RW 0.0>> Removable Direct Access SCSI-0 device da0: 40.000MB/s transfers da0: Attempt to query device size failed: NOT READY, Medium not present da1 at umass-sim0 bus 0 target 0 lun 1 da1: <USB2.0 CardReader Combo 0.0>> Removable Direct Access SCSI-0 device da1: 40.000MB/s transfers da1: Attempt to query device size failed: NOT READY, Medium not present Trying to mount root from ufs:/dev/vol/root GEOM_LABEL: Label ufs/root removed. GEOM_LABEL: Label for provider ad0s1a is ufs/root. GEOM_LABEL: Label ufs/usr removed. GEOM_LABEL: Label ufs/jail removed. GEOM_LABEL: Label for provider ad0s1f is ufs/jail. GEOM_LABEL: Label for provider ad0s1e is ufs/usr. GEOM_LABEL: Label ufs/var removed. GEOM_LABEL: Label for provider ad0s1d is ufs/var. GEOM_LABEL: Label ufs/root removed. GEOM_LABEL: Label ufs/usr removed. GEOM_LABEL: Label ufs/jail removed. GEOM_LABEL: Label ufs/var removed. This module (opensolaris) contains code covered by the Common Development and Distribution License (CDDL) see http://opensolaris.org/os/licensing/opensolaris_license/ WARNING: ZFS is considered to be an experimental feature in FreeBSD. ZFS filesystem version 6 ZFS storage pool version 6 lock order reversal: 1st 0xc099e28c pf task mtx (pf task mtx) @ /usr/cvsup/7-stable/src/sys/contrib/pf/net/pf_ioctl.c:1394 2nd 0xc0a0c708 ifnet (ifnet) @ /usr/cvsup/7-stable/src/sys/net/if.c:1574 KDB: stack backtrace: db_trace_self_wrapper(c0923147,e6cd4a34,c0643355,c0924722,c0a0c708,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0924722,c0a0c708,c093a967,c093a967,c092a5a0,...) at kdb_backtrace+0x29 witness_checkorder(c0a0c708,9,c092a5a0,626,201,...) at witness_checkorder+0x5e5 _mtx_lock_flags(c0a0c708,0,c092a5a0,626,c5727000,...) at _mtx_lock_flags+0x34 ifunit(c5727000,c5727000,e0,572,c0924322,...) at ifunit+0x2f pfioctl(c47a3600,c0ec442d,c5602900,3,c4cce690,...) at pfioctl+0x27f1 devfs_ioctl_f(c4a1e04c,c0ec442d,c5602900,c44b3000,c4cce690,...) at devfs_ioctl_f+0xf5 kern_ioctl(c4cce690,3,c0ec442d,c5602900,1000000,...) at kern_ioctl+0x243 ioctl(c4cce690,e6cd4cfc,c,c09384e2,c0966f50,...) at ioctl+0x134 syscall(e6cd4d38) at syscall+0x2e3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (54, FreeBSD ELF32, ioctl), eip = 0x481abf03, esp = 0xbfbfbc3c, ebp = 0xbfbfbc58 --- >How-To-Repeat: Run with pf enabled, configuration is at http://ruben.is.verweg.com/stuff/freebsd/pf-helium.conf >Fix: >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903180841.n2I8fRfd005910>