Date: Sat, 11 Sep 2010 14:30:09 GMT From: Philippe Pepiot <phil@philpep.org> To: freebsd-pf@FreeBSD.org Subject: Re: kern/127439: [pf] deadlock in pf Message-ID: <201009111430.o8BEU916052156@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/127439; it has been noted by GNATS. From: Philippe Pepiot <phil@philpep.org> To: bug-followup@FreeBSD.org Cc: mainland@apeiron.net, csjp@freebsd.org Subject: Re: kern/127439: [pf] deadlock in pf Date: Sat, 11 Sep 2010 16:04:31 +0200 Hi, this lock still exists on 8.1-RELEASE. $ cat /etc/pf.conf set block-policy return block all pass out proto { tcp udp } to port domain pass out proto tcp to port { http ftp } user root My box deadlock at boot i suppose a minimal DNS traffic start cause pf to evaluate rules. without one of theses rules no deadlock. $ uname -a FreeBSD aldo.philpep.org 8.1-RELEASE FreeBSD 8.1-RELEASE #3: Sat Sep 11 11:05:55 UTC 2010 root@aldo.philpep.org:/usr/obj/usr/src/sys/ALDO amd64 (as you can see i've ipv6 and ipv4 enabled) /boot/kernel/kernel text=0x64d7a6 data=0x916e8+0x23f1c8 syms=[0x8+0xabd68+0x8+0x9c3b7] /boot/kernel/zfs.ko size 0x1a3098 at 0xc67000 loading required module 'opensolaris' /boot/kernel/opensolaris.ko size 0x3948 at 0xe0b000 / Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... KDB: debugger backends: ddb KDB: current backend: ddb Copyright (c) 1992-2010 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 8.1-RELEASE #3: Sat Sep 11 11:05:55 UTC 2010 root@aldo.philpep.org:/usr/obj/usr/src/sys/ALDO amd64 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Celeron(R) CPU E3300 @ 2.50GHz (2493.11-MHz K8-class CPU) Origin = "GenuineIntel" Id = 0x1067a Family = 6 Model = 17 Stepping = 10 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=0x400e3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,XSAVE> AMD Features=0x20000800<SYSCALL,LM> AMD Features2=0x1<LAHF> TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3841851392 (3663 MB) ACPI APIC Table: <110309 APIC2133> FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 1 package(s) x 2 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 ioapic0 <Version 2.0> irqs 0-23 on motherboard kbd1 at kbdmux0 cryptosoft0: <software crypto> on motherboard acpi0: <110309 RSDT2133> on motherboard acpi0: [ITHREAD] acpi0: Power Button (fixed) acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, cfd00000 (3) failed Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: <ACPI CPU> on acpi0 cpu1: <ACPI CPU> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 vgapci0: <VGA-compatible display> port 0xdc00-0xdc07 mem 0xfe400000-0xfe7fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0 agp0: <Intel G41 SVGA controller> on vgapci0 agp0: detected 262140k stolen memory agp0: aperture size is 256M pci0: <multimedia, HDA> at device 27.0 (no driver attached) pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0 pci2: <ACPI PCI bus> on pcib1 pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.1 on pci0 pci1: <ACPI PCI bus> on pcib2 alc0: <Atheros AR8132 PCIe Fast Ethernet> port 0xec00-0xec7f mem 0xfebc0000-0xfebfffff irq 17 at device 0.0 on pci1 alc0: 15872 Tx FIFO, 15360 Rx FIFO alc0: Using 1 MSI message(s). alc0: 4GB boundary crossed, switching to 32bit DMA addressing mode. miibus0: <MII bus> on alc0 atphy0: <Atheros F1 10/100/1000 PHY> PHY 0 on miibus0 atphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto alc0: Ethernet address: 00:25:22:15:70:2b alc0: [FILTER] uhci0: <Intel 82801G (ICH7) USB controller USB-A> port 0xd400-0xd41f irq 23 at device 29.0 on pci0 uhci0: [ITHREAD] uhci0: LegSup = 0x2f00 usbus0: <Intel 82801G (ICH7) USB controller USB-A> on uhci0 uhci1: <Intel 82801G (ICH7) USB controller USB-B> port 0xd480-0xd49f irq 19 at device 29.1 on pci0 uhci1: [ITHREAD] uhci1: LegSup = 0x2f00 usbus1: <Intel 82801G (ICH7) USB controller USB-B> on uhci1 uhci2: <Intel 82801G (ICH7) USB controller USB-C> port 0xd800-0xd81f irq 18 at device 29.2 on pci0 uhci2: [ITHREAD] uhci2: LegSup = 0x2f00 usbus2: <Intel 82801G (ICH7) USB controller USB-C> on uhci2 uhci3: <Intel 82801G (ICH7) USB controller USB-D> port 0xd880-0xd89f irq 16 at device 29.3 on pci0 uhci3: [ITHREAD] uhci3: LegSup = 0x2f00 usbus3: <Intel 82801G (ICH7) USB controller USB-D> on uhci3 ehci0: <Intel 82801GB/R (ICH7) USB 2.0 controller> mem 0xfeaf7c00-0xfeaf7fff irq 23 at device 29.7 on pci0 ehci0: [ITHREAD] usbus4: EHCI version 1.0 usbus4: <Intel 82801GB/R (ICH7) USB 2.0 controller> on ehci0 pcib3: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci3: <ACPI PCI bus> on pcib3 isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH7 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 31.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] atapci1: <Intel ICH7 SATA300 controller> port 0xd080-0xd087,0xd000-0xd003,0xcc00-0xcc07,0xc880-0xc883,0xc800-0xc80f irq 19 at device 31.2 on pci0 atapci1: [ITHREAD] ata2: <ATA channel 0> on atapci1 ata2: [ITHREAD] ata3: <ATA channel 1> on atapci1 ata3: [ITHREAD] pci0: <serial bus, SMBus> at device 31.3 (no driver attached) acpi_button0: <Power Button> on acpi0 atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: [FILTER] uart0: console (9600,n,8,1) sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x100> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] coretemp0: <CPU On-Die Thermal Sensors> on cpu0 est0: <Enhanced SpeedStep Frequency Control> on cpu0 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 6164c2406004a24 device_attach: est0 attach returned 6 p4tcc0: <CPU Frequency Thermal Control> on cpu0 coretemp1: <CPU On-Die Thermal Sensors> on cpu1 est1: <Enhanced SpeedStep Frequency Control> on cpu1 est: CPU supports Enhanced Speedstep, but is not recognized. est: cpu_vendor GenuineIntel, msr 6164c2406004a24 device_attach: est1 attach returned 6 p4tcc1: <CPU Frequency Thermal Control> on cpu1 ZFS filesystem version 3 ZFS storage pool version 14 Timecounters tick every 1.000 msec usbus0: 12Mbps Full Speed USB v1.0 usbus1: 12Mbps Full Speed USB v1.0 usbus2: 12Mbps Full Speed USB v1.0 usbus3: 12Mbps Full Speed USB v1.0 usbus4: 480Mbps High Speed USB v2.0 ad4: 476940MB <WDC WD5000AAKS-00WWPA0 01.03B01> at ata2-master UDMA100 SATA ugen0.1: <Intel> at usbus0 uhub0: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 Expensive timeout(9) function: 0xffffffff8042a350(0xffffff0001900ba0) 0.119308459 s ugen1.1: <Intel> at usbus1 uhub1: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 ugen2.1: <Intel> at usbus2 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2 ugen3.1: <Intel> at usbus3 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3 ugen4.1: <Intel> at usbus4 uhub4: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4 SMP: AP CPU #1 Launched! WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. Root mount waiting for: usbus4 usbus3 usbus2 usbus1 usbus0 uhub0: 2 ports with 2 removable, self powered uhub1: 2 ports with 2 removable, self powered uhub2: 2 ports with 2 removable, self powered uhub3: 2 ports with 2 removable, self powered Root mount waiting for: usbus4 Root mount waiting for: usbus4 uhub4: 8 ports with 8 removable, self powered Trying to mount root from zfs:tank/root Setting hostuuid: 00020003-0004-0005-0006-000700080009. Setting hostid: 0x81f4ec68. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: Mounting local file systems:. Setting hostname: aldo.philpep.org. alc0: link state changed to DOWN Starting Network: lo0 alc0. lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 nd6 options=3<PERFORMNUD,ACCEPT_RTADV> alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c3198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE> ether 00:25:22:15:70:2b inet 192.168.0.20 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::225:22ff:fe15:702b%alc0 prefixlen 64 tentative scopeid 0x1 nd6 options=3<PERFORMNUD,ACCEPT_RTADV> media: Ethernet autoselect (none) status: no carrier Enabling pfpf enabled . add net default: gateway 192.168.0.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 net.inet6.ip6.forwarding: 0 -> 0 alc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=c3198<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MCAST,WOL_MAGIC,VLAN_HWTSO,LINKSTATE> inet6 fe80::225:22ff:fe15:702b%alc0 prefixlen 64 tentative scopeid 0x1 inet6 2001:470:1f15:7bf:dead:c0de:0:20 prefixlen 96 tentative lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=3<RXCSUM,TXCSUM> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 pflog0: flags=0<> metric 0 mtu 33152 alc0: link state changed to UP add net fe80::: gateway ::1 add net ff02::: gateway ::1 add net default: gateway 2001:470:1f15:7bf:dead:c0de::1 IPv4 mapped IPv6 address support=NO Starting devd. ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/zsh 32-bit compatibility ldconfig path: Creating and/or trimming log files. Starting syslogd. Clearing /tmp (X related). Recovering vi editor sessions:lock order reversal: 1st 0xffffffff80ac42a8 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:77 2nd 0xffffffff80ac5aa8 udp (udp) @ /usr/src/sys/contrib/pf/net/pf.c:3035 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e _rw_rlock() at _rw_rlock+0x5f pf_socket_lookup() at pf_socket_lookup+0x1c7 pf_test_udp() at pf_test_udp+0x8ce pf_test() at pf_test+0x1125 pf_check_in() at pf_check_in+0x39 pfil_run_hooks() at pfil_run_hooks+0xcf ip_input() at ip_input+0x2cd swi_net() at swi_net+0x151 intr_event_execute_handlers() at intr_event_execute_handlers+0x66 ithread_loop() at ithread_loop+0xb2 fork_exit() at fork_exit+0x12a fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff8000041d30, rbp = 0 --- panic: _rw_rlock (tcp): wlock already held @ /usr/src/sys/contrib/pf/net/pf.c:3059 cpuid = 1 KDB: enter: panic [thread pid 856 tid 100103 ] Stopped at kdb_enter+0x3d: movq $0,0x4fdd00(%rip) db> db> ps pid ppid pgrp uid state wmesg wchan cmd 856 851 25 25 R+ CPU 1 sendmail 851 25 25 0 S+ wait 0xffffff00035ff460 sh 720 1 720 0 Ss select 0xffffff0003985b40 syslogd 582 1 582 0 Ss select 0xffffff00036d4940 devd 25 1 25 0 Ss+ wait 0xffffff00034938c0 sh 24 0 0 0 SL flowclea 0xffffffff80abf5d0 [flowcleaner] 23 0 0 0 SL sdflush 0xffffffff80ad0ef8 [softdepflush] 22 0 0 0 SL vlruwt 0xffffff0003065000 [vnlru] 21 0 0 0 SL syncer 0xffffffff80abf320 [syncer] 20 0 0 0 SL psleep 0xffffffff80abee48 [bufdaemon] 19 0 0 0 SL pgzero 0xffffffff80ad298c [pagezero] 18 0 0 0 SL psleep 0xffffffff80ad1d28 [vmdaemon] 17 0 0 0 SL psleep 0xffffffff80ad1cec [pagedaemon] 16 0 0 0 SL ccb_scan 0xffffffff808e0760 [xpt_thrd] 15 0 0 0 SL jsw:wait 0xffffffff808fa450 [g_journal switcher] 9 0 0 0 SL pftm 0xffffffff801d8d80 [pfpurge] 8 0 0 0 SL waiting_ 0xffffffff80ac48e0 [sctp_iterator] 7 0 0 0 SL (threaded) zfskern 100098 D tx->tx_s 0xffffff0003196a40 [txg_thread_enter] 100097 D tx->tx_q 0xffffff0003196a60 [txg_thread_enter] 100057 D l2arc_fe 0xffffffff80d5ffc0 [l2arc_feed_thread] 100056 D arc_recl 0xffffffff80d50120 [arc_reclaim_thread] 14 0 0 0 SL (threaded) usb [... usb bus ...] 6 0 0 0 SL crypto_r 0xffffffff80acfd40 [crypto returns] 5 0 0 0 SL crypto_w 0xffffffff80acfd00 [crypto] 13 0 0 0 SL - 0xffffffff808fdd44 [yarrow] 4 0 0 0 SL - 0xffffffff808fa3c8 [g_down] 3 0 0 0 SL - 0xffffffff808fa3c0 [g_up] 2 0 0 0 SL - 0xffffffff808fa3b0 [g_event] 12 0 0 0 WL (threaded) intr 100053 I [irq1: atkbd0] 100052 I [swi0: uart] 100051 I [irq14: ata0] 100042 I [irq16: uhci3] 100037 I [irq18: uhci2] 100032 I [irq19: uhci1+] 100027 I [irq23: uhci0 ehci0] 100025 I [irq9: acpi0] 100023 I [swi2: cambio] 100019 I [swi6: task queue] 100018 I [swi6: Giant taskq] 100016 I [swi5: +] 100008 I [swi4: clock] 100007 I [swi4: clock] 100006 I [swi3: vm] 100005 I [swi1: netisr 0] 11 0 0 0 RL (threaded) idle 100004 Run CPU 0 [idle: cpu0] 100003 CanRun [idle: cpu1] 1 0 1 0 SLs wait 0xffffff000149d8c0 [init] 10 0 0 0 SL audit_wo 0xffffffff80ad0250 [audit] 0 0 0 0 SLs (threaded) kernel 100141 D - 0xffffff00036d5a00 [zil_clean] [... zil_clean ...] 100096 D - 0xffffff00030b8000 [zfs_vn_rele_taskq] 100095 D - 0xffffff00030b8700 [spa_zio] [... spa_zio ... ] 100055 D - 0xffffff0001fb4c00 [system_taskq_1] 100054 D - 0xffffff0001fb4c00 [system_taskq_0] 100026 D - 0xffffff0001700600 [alc0 taskq] 100024 D - 0xffffff0001589c80 [kqueue taskq] 100022 D - 0xffffff000158a100 [acpi_task_2] 100021 D - 0xffffff000158a100 [acpi_task_1] 100020 D - 0xffffff000158a100 [acpi_task_0] 100017 D - 0xffffff000152ea00 [thread taskq] 100012 D - 0xffffff000149ad80 [firmware taskq] 100000 D sched 0xffffffff808fa5c0 [swapper] if you're interested by a proccess trace just ask.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201009111430.o8BEU916052156>