GENERIC HEAD from 2011-07-22 18:03:33 UTC, r224282M, No vmcore KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2011 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 9.0-CURRENT #0 r224282M: Wed Jul 27 06:08:51 CEST 2011 pho@x4.osted.lan:/usr/src/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1800.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 10 Model = 2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3531759616 (3368 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <060508 APIC1048> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 ioapic0 irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <060508 RSDT1048> on motherboard acpi0: Power Button (fixed) acpi0: reservation of fee00000, 1000 (3) failed acpi0: reservation of ffb80000, 80000 (3) failed acpi0: reservation of 0, a0000 (3) failed acpi0: reservation of 100000, d7f00000 (3) failed Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0 cpu0: on acpi0 cpu1: on acpi0 cpu2: on acpi0 cpu3: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pcib1: at device 1.0 on pci0 pci1: on pcib1 vgapci0: port 0xc000-0xc0ff mem 0xf0000000-0xf7ffffff,0xfe9f0000-0xfe9fffff,0xfe800000-0xfe8fffff irq 18 at device 5.0 on pci1 hdac0: mem 0xfe9e8000-0xfe9ebfff irq 19 at device 5.2 on pci1 pcib2: at device 7.0 on pci0 pci2: on pcib2 re0: port 0xd800-0xd8ff mem 0xfeaff000-0xfeafffff irq 19 at device 0.0 on pci2 re0: Using 1 MSI message re0: Chip rev. 0x38000000 re0: MAC rev. 0x00000000 miibus0: on re0 rgephy0: PHY 1 on miibus0 rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow re0: Ethernet address: 00:21:85:15:33:7d ahci0: port 0xb000-0xb007,0xa000-0xa003,0x9000-0x9007,0x8000-0x8003,0x7000-0x700f mem 0xfe7ff800-0xfe7ffbff irq 22 at device 18.0 on pci0 ahci0: AHCI v1.10 with 4 3Gbps ports, Port Multiplier supported ahcich0: at channel 0 on ahci0 ahcich1: at channel 1 on ahci0 ahcich2: at channel 2 on ahci0 ahcich3: at channel 3 on ahci0 ohci0: mem 0xfe7fe000-0xfe7fefff irq 16 at device 19.0 on pci0 usbus0: on ohci0 ohci1: mem 0xfe7fd000-0xfe7fdfff irq 17 at device 19.1 on pci0 usbus1: on ohci1 ohci2: mem 0xfe7fc000-0xfe7fcfff irq 18 at device 19.2 on pci0 usbus2: on ohci2 ohci3: mem 0xfe7fb000-0xfe7fbfff irq 17 at device 19.3 on pci0 usbus3: on ohci3 ohci4: mem 0xfe7fa000-0xfe7fafff irq 18 at device 19.4 on pci0 usbus4: on ohci4 ehci0: mem 0xfe7ff000-0xfe7ff0ff irq 19 at device 19.5 on pci0 ehci0: AMD SB600/700 quirk applied usbus5: EHCI version 1.0 usbus5: on ehci0 pci0: at device 20.0 (no driver attached) atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on pci0 ata0: on atapci0 hdac1: mem 0xfe7f4000-0xfe7f7fff irq 16 at device 20.2 on pci0 isab0: at device 20.3 on pci0 isa0: on isab0 pcib3: at device 20.4 on pci0 pci3: on pcib3 fwohci0: port 0xe800-0xe87f mem 0xfebff800-0xfebfffff irq 20 at device 6.0 on pci3 fwohci0: OHCI version 1.10 (ROM=1) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:dc:10:00:01:62:ad:eb fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 fwe0: on firewire0 if_fwe0: Fake Ethernet address: 02:dc:10:62:ad:eb fwe0: Ethernet address: 02:dc:10:62:ad:eb fwip0: on firewire0 fwip0: Firewire address: 00:dc:10:00:01:62:ad:eb @ 0xfffe00000000, S400, maxrec 2048 sbp0: on firewire0 dcons_crom0: on firewire0 dcons_crom0: bus_addr 0x105ea00 fwohci0: Initiate bus reset fwohci0: fwohci_intr_core: BUS reset fwohci0: fwohci_intr_core: node_id=0x00000000, SelfID Count=1, CYCLEMASTER mode acpi_button0: on acpi0 attimer0: port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 atrtc0: port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: console (115200,n,8,1) fdc0: port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] psm0: irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: model IntelliMouse Explorer, device ID 4 pmtimer0 on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 ppc0: parallel port not found. acpi_throttle0: on cpu0 acpi_throttle0: CLK_VAL field overlaps THT_EN bit device_attach: acpi_throttle0 attach returned 6 hwpstate0: on cpu0 Timecounters tick every 1.000 msec firewire0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me) firewire0: bus manager 0 hdac0: HDA Codec #0: ATI RS690/780 HDMI pcm0: at cad 0 nid 1 on hdac0 hdac1: HDA Codec #3: Realtek ALC888 pcm1: at cad 3 nid 1 on hdac1 pcm2: at cad 3 nid 1 on hdac1 pcm3: at cad 3 nid 1 on hdac1 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 ugen0.1: at usbus0 uhub0: on usbus0 Expensive timeout(9) function: 0xc0a45aa0(0xc741e2e0) 0.010511670 s ugen1.1: at usbus1 uhub1: on usbus1 ugen2.1: at usbus2 uhub2: on usbus2 ugen3.1: at usbus3 uhub3: on usbus3 usbus4: 12Mbps Full Speed USB v1.0 usbus5: 480Mbps High Speed USB v2.0 ugen4.1: at usbus4 uhub4: on usbus4 ugen5.1: at usbus5 uhub5: on usbus5 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 uhub4: 2 ports with 2 removable, self powered uhub5: 10 ports with 10 removable, self powered ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: ATA-8 SATA 2.x device ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 476940MB (976773168 512 byte sectors: 16H 63S/T 16383C) ada0: Previously was known as ad4 cd0 at ata0 bus 0 scbus4 target 1 lun 0 SMP: AP CPU #1 Launched! cd0: <_NEC DVD_RW ND-4550A 1.06> Removable CD-ROM SCSI-0 device SMP: AP CPU #2 Launched! cd0: 33.300MB/s transfersSMP: AP CPU #3 Launched! (UDMA2, ATAPI 12bytes, PIO 65534bytes) cd0: Attempt to query device size failed: NOT READY, Medium not present Timecounter "TSC-low" frequency 14062662 Hz quality 800 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. Trying to mount root from ufs:/dev/ad4s1a [rw]... Setting hostuuid: 00000000-0000-0000-0000-00218515337d. Setting hostid: 0x6b64ac17. Starting ddb. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad4s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1a: clean, 203155 free (1603 frags, 25194 blocks, 0.2% fragmentation) /dev/label/tmp: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/label/tmp: clean, 94262595 free (2627 frags, 11782496 blocks, 0.0% fragmentation) /dev/ad4s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1f: clean, 191277 free (4389 frags, 23361 blocks, 0.4% fragmentation) /dev/ad4s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1d: clean, 1538987 free (261611 frags, 159672 blocks, 2.6% fragmentation) /dev/ad4s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1e: clean, 4316679 free (79471 frags, 529651 blocks, 0.3% fragmentation) Mounting local file systems:. Setting hostname: x4.osted.lan. re0: link state changed to DOWN Starting Network: lo0 re0 fwe0 fwip0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa nd6 options=21 re0: flags=8843 metric 0 mtu 1500 options=389b ether 00:21:85:15:33:7d inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::221:85ff:fe15:337d%re0 prefixlen 64 tentative scopeid 0x1 nd6 options=29 media: Ethernet autoselect (none) status: no carrier fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb nd6 options=29 ch 1 dma -1 fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 nd6 options=29 Starting devd. Starting Network: usbus0. Starting Network: usbus1. Starting Network: usbus2. Starting Network: usbus3. Starting Network: usbus4. Starting Network: usbus5. Starting Network: fwe0. fwe0: flags=8802re0: link state changed to UP metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb nd6 options=29 ch 1 dma -1 Starting Network: fwip0. fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 nd6 options=29 add net default: gateway 192.168.1.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib /usr/local/lib/compat /usr/local/lib/compat/pkg /usr/local/lib/nss /usr/local/lib/qt4 /usr/local/lib/virtualbox /usr/local/lib/wine a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout Creating and/or trimming log files. Starting syslogd. No core dumps found. Additional ABI support: linux. Starting rpcbind. NFS access cache time=60 rpc.umntall: 127.0.0.1: MOUNTPROG: RPC: Program not registered rpc.umntall: 127.0.0.1: MOUNTPROG: RPC: Program not registered rpc.umntall: 127.0.0.1: MOUNTPROG: RPC: Program not registered lock order reversal: 1st 0xe0b1f060 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc7958800 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0efa6d6,2e687361,38323a63,c7000a34,a7a,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a3f2cb,c0efe09f,c7165370,c71693a0,f1911894,...) at kdb_backtrace+0x2a _witness_debugger(c0efe09f,c7958800,c0f2d8a6,c71693a0,c0f2d538,...) at _witness_debugger+0x25 witness_checkorder(c7958800,9,c0f2d52f,11c,0,...) at witness_checkorder+0x839 _sx_xlock(c7958800,0,c0f2d52f,11c,c78b789c,...) at _sx_xlock+0x85 ufsdirhash_acquire(e0b1f000,f19119ec,134,e1811edc,f1911964,...) at ufsdirhash_acquire+0x48 ufsdirhash_add(c78b789c,f19119ec,1edc,f1911950,f1911954,...) at ufsdirhash_add+0x13 ufs_direnter(c7947d98,c7d98ae0,f19119ec,f1911bd0,e0b1f680,...) at ufs_direnter+0x749 ufs_mkdir(f1911bf8,c0f4b90e,0,0,f1911b3c,...) at ufs_mkdir+0x936 VOP_MKDIR_APV(c1045120,f1911bf8,f1911bd0,f1911b3c,0,...) at VOP_MKDIR_APV+0xc5 kern_mkdirat(c7d24000,ffffff9c,28404020,0,1c0,...) at kern_mkdirat+0x225 kern_mkdir(c7d24000,28404020,0,1c0,f1911c7c,...) at kern_mkdir+0x2e mkdir(c7d24000,f1911cec,f1911d28,c0efc8ea,0,...) at mkdir+0x29 syscallenter(c7d24000,f1911ce4,f1911ce4,0,0,...) at syscallenter+0x263 syscall(f1911d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, mkdir), eip = 0x28173173, esp = 0xbfbfe8cc, ebp = 0xbfbfed78 --- Clearing /tmp (X related). Starting mountd. NFSv4 is disabled Starting nfsd. Recovering vi editor sessions:lock order reversal: 1st 0xc7e88058 ufs (ufs) @ kern/vfs_lookup.c:501 2nd 0xe0b268a0 bufwait (bufwait) @ ufs/ffs/ffs_vnops.c:261 3rd 0xc7e91b38 ufs (ufs) @ kern/vfs_subr.c:2134 KDB: stack backtrace: db_trace_self_wrapper(c0efa6d6,3a632e73,a313632,c7d24000,f1911294,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a3f2cb,c0efe0b8,c7165370,c7169338,f1911340,...) at kdb_backtrace+0x2a _witness_debugger(c0efe0b8,c7e91b38,c0eed384,c7169338,c0f05d37,...) at _witness_debugger+0x25 witness_checkorder(c7e91b38,9,c0f05d2e,856,0,...) at witness_checkorder+0x839 __lockmgr_args(c7e91b38,80100,c7e91ba4,0,0,...) at __lockmgr_args+0x814 ffs_lock(f1911464,c0a50cdb,c0f05093,80100,c7e91ae0,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c1045120,f1911464,c7d240b0,c1055920,c7e91ae0,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7e91ae0,80100,c0f05d2e,856,4,...) at _vn_lock+0x78 vget(c7e91ae0,80100,c7d24000,50,0,...) at vget+0xbb vfs_hash_get(c78a22d4,15f687,80000,c7d24000,f19115a8,...) at vfs_hash_get+0xed ffs_vgetf(c78a22d4,15f687,80000,f19115a8,1,...) at ffs_vgetf+0x49 softdep_sync_buf(c7e88000,e0b26840,1,107,0,...) at softdep_sync_buf+0xac9 ffs_syncvnode(c7e88000,1,c7e880f8,c7165370,c11daef8,...) at ffs_syncvnode+0x238 ffs_truncate(c7e88000,200,0,880,c71b5700,...) at ffs_truncate+0x82b ufs_direnter(c7e88000,c7e91ae0,f1911914,f1911ba4,0,...) at ufs_direnter+0x924 ufs_makeinode(f1911ba4,c10456a0,f1911b00,f1911a5c,c0d5cf75,...) at ufs_makeinode+0x5e5 ufs_create(f1911b00,c0f4bad4,0,0,f1911b78,...) at ufs_create+0x30 VOP_CREATE_APV(c1045120,f1911b00,f1911ba4,f1911a98,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(f1911b78,f1911c2c,1b0,0,c71b5700,...) at vn_open_cred+0x205 vn_open(f1911b78,f1911c2c,1b0,c7d171f8,0,...) at vn_open+0x3b kern_openat(c7d24000,ffffff9c,28839f60,0,a03,...) at kern_openat+0x12f kern_open(c7d24000,28839f60,0,a02,1b0,...) at kern_open+0x35 open(c7d24000,f1911cec,f1911d28,c0efc8ea,0,...) at open+0x30 syscallenter(c7d24000,f1911ce4,f1911ce4,0,0,...) at syscallenter+0x263 syscall(f1911d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, open), eip = 0x283d51b3, esp = 0xbfbfc4fc, ebp = 0xbfbfc588 --- . Updating motd:. Starting ntpd. Starting default moused. Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xc794b724 ufs (ufs) @ kern/vfs_mount.c:1194 2nd 0xc7933df0 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1833 KDB: stack backtrace: db_trace_self_wrapper(c0efa6d6,38313a63,a3333,c0f2ef09,c19b4888,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a3f2cb,c0efe09f,c7169338,c7169200,f18aba04,...) at kdb_backtrace+0x2a _witness_debugger(c0efe09f,c7933df0,c0ee51e7,c7169200,c0f29a39,...) at _witness_debugger+0x25 witness_checkorder(c7933df0,9,c0f29a30,729,c7933e5c,...) at witness_checkorder+0x839 __lockmgr_args(c7933df0,80400,c7933e5c,0,0,...) at __lockmgr_args+0x814 vop_stdlock(f18abb24,4,c0ef4da7,80400,c7933d98,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c101abe0,f18abb24,c120e910,c1055920,c7933d98,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7933d98,80400,c0f29a30,729,c78a287c,...) at _vn_lock+0x78 softdep_flushworklist(c78a287c,f18abbd0,c7beab80,5dc,0,...) at softdep_flushworklist+0x47 ffs_sync(c78a287c,1,f18abc14,4ef,80,...) at ffs_sync+0x2fd dounmount(c78a287c,8080000,c7beab80,474,5b85c5ea,...) at dounmount+0x447 unmount(c7beab80,f18abcec,28177215,1,0,...) at unmount+0x310 syscallenter(c7beab80,f18abce4,c0d3976d,c1090770,0,...) at syscallenter+0x263 syscall(f18abd28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280dd82b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- ** /dev/label/tmp ** Last Mounted on /tmp ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 88902 files, 24051386 used, 94262595 free (2627 frags, 11782496 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** ** /dev/label/tmp ** Last Mounted on /tmp ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 88902 files, 24051386 used, 94262595 free (2627 frags, 11782496 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** fsck -y /tmp watchdogd. Starting inetd. Wed Jul 27 06:26:02 CEST 2011 FreeBSD/i386 (x4.osted.lan) (console) login: Jul 27 06:43:09 x4 su: pho to root on /dev/pts/0 panic: __lockmgr_args: recursing on non recursive lockmgr msdosfs @ ../../../kern/vfs_subr.c:2134 VNASSERT failed 0xc8243984: cpuid = 0 tag ufs, type VDIR KDB: enter: panic [ thread pid 1853 tid 100083 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 1853 tid 100083 td 0xc78c1b80 kdb_enter(c0ef67ba,c0ef67ba,c0ef3513,f1800c74,0,...) at kdb_enter+0x3a panic(c0ef3513,c0ef364c,c0ee5d0a,c0f05d2e,856,...) at panic+0x134 __lockmgr_args(c8512c94,80100,c8512d00,0,0,...) at __lockmgr_args+0x8a6 vop_stdlock(f1800d88,c0a50cdb,c0f05093,80100,c8512c3c,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c101b160,f1800d88,c78c1c30,c1055920,c8512c3c,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c8512c3c,80100,c0f05d2e,856,4,...) at _vn_lock+0x78 vget(c8512c3c,80100,c78c1b80,50,0,...) at vget+0xbb vfs_hash_get(c83de000,c1c000,80000,c78c1b80,f1800e4c,...) at vfs_hash_get+0xed deget(c7f11200,60e,0,f1800e78,0,...) at deget+0x82 msdosfs_fhtovp(c83de000,f180122c,80000,f1801214,c83de000,...) at msdosfs_fhtovp+0x34 nfsvno_fhtovp(c83de000,f1801224,c8746cc4,80000,f1801214,...) at nfsvno_fhtovp+0x102 nfsd_fhtovp(f1801418,f1801220,80000,f1801214,f18011e0,...) at nfsd_fhtovp+0x90 nfsrvd_rename(f1801418,0,c8512c3c,0,c78c1b80,...) at nfsrvd_rename+0x2a8 nfsrvd_dorpc(f1801418,0,c78c1b80,c8746c00,6,...) at nfsrvd_dorpc+0x1f3c nfssvc_program(c8437000,c8746c00,c0f24d47,492,c7d208a0,...) at nfssvc_program+0x40f svc_run_internal(c78c1d30,14,c0f24f3a,c0ee8cfb,f18017f4,...) at svc_run_internal+0x952 svc_run(c73dfa80,0,c0ee8cd6,19f,c7162380,...) at svc_run+0x7b nfsrvd_nfsd(c78c1b80,f18017f4,c,c0f31079,c0eec2c0,...) at nfsrvd_nfsd+0x1c3 nfssvc_nfsd(c78c1b80,f1801cec,c78e9580,0,f1801c7c,...) at nfssvc_nfsd+0x167 nfssvc(c78c1b80,f1801cec,f1801d28,c0efc8ea,0,...) at nfssvc+0xeb syscallenter(c78c1b80,f1801ce4,f1801ce4,0,0,...) at syscallenter+0x263 syscall(f1801d28) at syscall+0x4f Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (155, FreeBSD ELF32, nfssvc), eip = 0x280de32b, esp = 0xbfbfe82c, ebp = 0xbfbfea98 --- db:0:bt> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0x7cef80 curthread = 0xc78c1b80: pid 1853 "nfsd: master" curpcb = 0xf1801d80 fpcurthread = none idlethread = 0xc71b98a0: tid 100003 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x5ed0f80 curthread = 0xc7d208a0: pid 1853 "nfsd: service" curpcb = 0xf1952d80 fpcurthread = none idlethread = 0xc71b95c0: tid 100004 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x5ed3f80 curthread = 0xc827c5c0: pid 2761 "find" curpcb = 0xf19bdd80 fpcurthread = none idlethread = 0xc71b92e0: tid 100005 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x5ed6f80 curthread = 0xc71b9000: pid 11 "idle: cpu3" curpcb = 0xc6f40d80 fpcurthread = none idlethread = 0xc71b9000: tid 100006 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 2766 (find) thread 0xc7bd6000 (100108) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0d92fc0) locked @ kern/vfs_bio.c:1911 shared lockmgr newnfs (newnfs) r = 0 (0xc81861b4) locked @ kern/vfs_syscalls.c:4110 Process 2765 (find) thread 0xc7beb000 (100113) shared lockmgr newnfs (newnfs) r = 0 (0xc84c4880) locked @ kern/vfs_lookup.c:501 Process 2763 (find) thread 0xc755b5c0 (100101) exclusive lockmgr newnfs (newnfs) r = 0 (0xc84c4310) locked @ kern/vfs_subr.c:2134 exclusive lockmgr newnfs (newnfs) r = 0 (0xc85199dc) locked @ kern/vfs_lookup.c:501 Process 2761 (find) thread 0xc827c5c0 (100176) exclusive sleep mutex vm page queue mutex (vm page queue mutex) r = 0 (0xc1210300) locked @ i386/i386/pmap.c:3591 exclusive sleep mutex vm object (standard object) r = 0 (0xc78de440) locked @ vm/vm_fault.c:1021 shared sx user map (user map) r = 0 (0xc79183e8) locked @ vm/vm_map.c:3669 Process 2758 (find) thread 0xc78c0b80 (100091) exclusive lockmgr newnfs (newnfs) r = 0 (0xc84c41b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr newnfs (newnfs) r = 0 (0xc818f880) locked @ kern/vfs_lookup.c:501 Process 2757 (find) thread 0xc8802000 (100242) exclusive lockmgr newnfs (newnfs) r = 0 (0xc8190880) locked @ kern/vfs_subr.c:2134 Process 2756 (sh) thread 0xc88032e0 (100225) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0d4c4c0) locked @ kern/vfs_bio.c:1911 exclusive lockmgr newnfs (newnfs) r = 0 (0xc83df46c) locked @ kern/vfs_subr.c:2134 Process 2755 (find) thread 0xc84722e0 (100220) exclusive lockmgr newnfs (newnfs) r = 0 (0xc81905c8) locked @ kern/vfs_subr.c:2134 exclusive lockmgr newnfs (newnfs) r = 0 (0xc81d61b4) locked @ kern/vfs_lookup.c:501 Process 2754 (find) thread 0xc88022e0 (100241) exclusive lockmgr newnfs (newnfs) r = 0 (0xc81d69dc) locked @ kern/vfs_lookup.c:501 Process 2508 (rw) thread 0xc8429000 (100195) exclusive lockmgr newnfs (newnfs) r = 0 (0xc85125c8) locked @ kern/vfs_subr.c:2134 exclusive lockmgr newnfs (newnfs) r = 0 (0xc8519b38) locked @ kern/vfs_lookup.c:501 Process 2499 (creat) thread 0xc827c8a0 (100175) exclusive lockmgr newnfs (newnfs) r = 0 (0xc90cf1b4) locked @ kern/vfs_subr.c:2134 exclusive lockmgr newnfs (newnfs) r = 0 (0xc8519310) locked @ kern/vfs_lookup.c:501 Process 2497 (creat) thread 0xc827c2e0 (100177) exclusive lockmgr newnfs (newnfs) r = 0 (0xc818f46c) locked @ kern/vfs_lookup.c:501 Process 2306 (sshd) thread 0xc7d235c0 (100137) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7caebec) locked @ kern/uipc_sockbuf.c:148 Process 2305 (sshd) thread 0xc78c22e0 (100081) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7e2d3cc) locked @ kern/uipc_sockbuf.c:148 Process 2304 (sshd) thread 0xc78c18a0 (100085) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc7e2c70c) locked @ kern/uipc_sockbuf.c:148 Process 2296 (sshd) thread 0xc7cc08a0 (100149) exclusive sx so_rcv_sx (so_rcv_sx) r = 0 (0xc80b256c) locked @ kern/uipc_sockbuf.c:148 Process 1853 (nfsd) thread 0xc7d208a0 (100152) exclusive sleep mutex page lock (page lock) r = 0 (0xc120f580) locked @ vm/vm_object.c:1822 exclusive sleep mutex vm object (standard object) r = 0 (0xc919da18) locked @ vm/vnode_pager.c:375 exclusive lockmgr msdosfs (msdosfs) r = 0 (0xc91b11b4) locked @ kern/vfs_subr.c:2134 Process 1853 (nfsd) thread 0xc7d23000 (100150) exclusive lockmgr bufwait (bufwait) r = 0 (0xe0d96700) locked @ kern/vfs_bio.c:2658 exclusive lockmgr msdosfs (msdosfs) r = 0 (0xc84c4058) locked @ kern/vfs_lookup.c:501 Process 1853 (nfsd) thread 0xc78c1b80 (100083) exclusive lockmgr msdosfs (msdosfs) r = 0 (0xc8512c94) locked @ kern/vfs_subr.c:2134 db:0:alllocks> show lockedvnods Locked vnodes $ svn diff -x -p src Index: src/sys/fs/nfsclient/nfsnode.h =================================================================== --- src/sys/fs/nfsclient/nfsnode.h (revision 224282) +++ src/sys/fs/nfsclient/nfsnode.h (working copy) @@ -35,11 +35,14 @@ #ifndef _NFSCLIENT_NFSNODE_H_ #define _NFSCLIENT_NFSNODE_H_ +#include + /* * Silly rename structure that hangs off the nfsnode until the name * can be removed by nfs_inactive() */ struct sillyrename { + struct task s_task; struct ucred *s_cred; struct vnode *s_dvp; long s_namlen; Index: src/sys/fs/nfsclient/nfs_clnode.c =================================================================== --- src/sys/fs/nfsclient/nfs_clnode.c (revision 224282) +++ src/sys/fs/nfsclient/nfs_clnode.c (working copy) @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -65,6 +66,8 @@ MALLOC_DECLARE(M_NEWNFSREQ); uma_zone_t newnfsnode_zone; +static void nfs_freesillyrename(void *arg, __unused int pending); + void ncl_nhinit(void) { @@ -186,6 +189,20 @@ ncl_nget(struct mount *mntp, u_int8_t *fhp, int fh return (0); } +/* + * Do the vrele(sp->s_dvp) as a separate task in order to avoid a + * deadlock because of a LOR when vrele() locks the directory vnode. + */ +static void +nfs_freesillyrename(void *arg, __unused int pending) +{ + struct sillyrename *sp; + + sp = arg; + vrele(sp->s_dvp); + free(sp, M_NEWNFSREQ); +} + int ncl_inactive(struct vop_inactive_args *ap) { @@ -220,8 +237,8 @@ ncl_inactive(struct vop_inactive_args *ap) */ ncl_removeit(sp, vp); crfree(sp->s_cred); - vrele(sp->s_dvp); - FREE((caddr_t)sp, M_NEWNFSREQ); + TASK_INIT(&sp->s_task, 0, nfs_freesillyrename, sp); + taskqueue_enqueue(taskqueue_thread, &sp->s_task); mtx_lock(&np->n_mtx); } np->n_flag &= NMODIFIED; Index: src/sys/fs/nfsclient/nfs_clvnops.c =================================================================== --- src/sys/fs/nfsclient/nfs_clvnops.c (revision 224282) +++ src/sys/fs/nfsclient/nfs_clvnops.c (working copy) @@ -1596,6 +1596,8 @@ again: if (attrflag) (void) nfscl_loadattrcache(&newvp, &nfsva, NULL, NULL, 0, 1); + if (error != 0) + vput(newvp); } } if (!error) { Index: src/sys/fs/nfsserver/nfs_nfsdport.c =================================================================== --- src/sys/fs/nfsserver/nfs_nfsdport.c (revision 224282) +++ src/sys/fs/nfsserver/nfs_nfsdport.c (working copy) @@ -2642,13 +2642,6 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, st exp->nes_secflavors[i] = secflavors[i]; } } - if (error == 0 && lktype == LK_SHARED) - /* - * It would be much better to pass lktype to VFS_FHTOVP(), - * but this will have to do until VFS_FHTOVP() has a lock - * type argument like VFS_VGET(). - */ - NFSVOPLOCK(*vpp, LK_DOWNGRADE | LK_RETRY); NFSEXITCODE(error); return (error); -- Test scenario: nfs2.sh