Date: Sun, 30 Aug 2009 10:00:09 GMT From: Petr Salinger <Petr.Salinger@seznam.cz> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/138002: [lor] Three lock order reversals: ufs/devfs, bufwait/dirhash, bufwait/ufs Message-ID: <200908301000.n7UA09cB068512@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/138002; it has been noted by GNATS. From: Petr Salinger <Petr.Salinger@seznam.cz> To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/138002: [lor] Three lock order reversals: ufs/devfs, bufwait/dirhash, bufwait/ufs Date: Sun, 30 Aug 2009 12:29:01 +0200 (CEST) Similarly for me, 8.0 snapshot as of 20090829, in QEMU: lock order reversal: 1st 0xc3177250 bufwait (bufwait) @ kern/vfs_bio.c:2559 2nd 0xc35b2c00 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:285 lock order reversal: 1st 0xc35f49c4 ufs (ufs) @ kern/vfs_mount.c:1200 2nd 0xc35f4df4 devfs (devfs) @ kern/vfs_subr.c:2083 Whole dmesg of boot and reboot: 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. #0 Sat Aug 29 21:10:23 CEST 2009 WARNING: WITNESS option enabled, expect reduced performance. Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: QEMU Virtual CPU version 0.10.5 (2672.21-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x623 Stepping = 3 Features=0x78bf3fd<FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2> Features2=0x9<SSE3,MON> AMD Features=0xe0100800<SYSCALL,NX,LM,3DNow!+,3DNow!> AMD Features2=0x4<SVM> real memory = 536805376 (511 MB) avail memory = 507310080 (483 MB) ACPI APIC Table: <QEMU QEMUAPIC> MADT: Forcing active-low polarity and level trigger for SCI ioapic0 <Version 1.1> irqs 0-23 on motherboard kbd1 at kbdmux0 acpi0: <QEMU QEMURSDT> on motherboard acpi0: [ITHREAD] Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xb008-0xb00b on acpi0 acpi_hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 100000000 Hz quality 900 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci_link0: BIOS IRQ 9 does not match initial IRQ 11 pci0: <ACPI PCI bus> on pcib0 Correcting Natoma config for non-SMP isab0: <PCI-ISA bridge> at device 1.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX3 WDMA2 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xc000-0xc00f at device 1.1 on pci0 ata0: <ATA channel 0> on atapci0 ata0: [ITHREAD] ata1: <ATA channel 1> on atapci0 ata1: [ITHREAD] pci0: <bridge> at device 1.3 (no driver attached) vgapci0: <VGA-compatible display> mem 0xc0000000-0xc1ffffff,0xc2000000-0xc2000fff at device 2.0 on pci0 ed0: <RealTek 8029> port 0xc100-0xc1ff irq 11 at device 3.0 on pci0 ed0: ed_stop_hw RST never set ed0: WARNING: using obsoleted if_watchdog interface ed0: Ethernet address: 52:54:00:12:34:56 ed0: [ITHREAD] pci0: <memory, RAM> at device 4.0 (no driver attached) atrtc0: <AT realtime clock> port 0x70-0x71,0x72-0x77 irq 8 on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] atkbd0: [ITHREAD] psm0: <PS/2 Mouse> flags 0x100 irq 12 on atkbdc0 psm0: [GIANT-LOCKED] psm0: [ITHREAD] psm0: model IntelliMouse Explorer, device ID 4 ppc0: <Parallel port> port 0x378-0x37f irq 7 on acpi0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppc0: [ITHREAD] ppbus0: <Parallel port bus> on ppc0 uart0: <Non-standard ns8250 class UART with FIFOs> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: [FILTER] cpu0: <ACPI CPU> on acpi0 pmtimer0 on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 2672214032 Hz quality 800 Timecounters tick every 1.000 msec driver bug: Unable to set devclass (devname: (null)) ad0: 4000MB <QEMU HARDDISK 0.10.5> at ata0-master WDMA2 acd0: CDROM <QEMU DVD-ROM/0.10.5> at ata1-master WDMA2 WARNING: WITNESS option enabled, expect reduced performance. Trying to mount root from ufs:/dev/ad0s1a Trying to mount root from ufs:/dev/ad0s1a (probe0:ata1:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:ata1:0:0:0): CAM Status: SCSI Status Error (probe0:ata1:0:0:0): SCSI Status: Check Condition (probe0:ata1:0:0:0): NOT READY asc:3a,0 (probe0:ata1:0:0:0): Medium not present (probe0:ata1:0:0:0): Unretryable error cd0 at ata1 bus 0 target 0 lun 0 cd0: <QEMU QEMU DVD-ROM 0.10> Removable CD-ROM SCSI-0 device cd0: 16.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present lock order reversal: 1st 0xc3177250 bufwait (bufwait) @ kern/vfs_bio.c:2559 2nd 0xc35b2c00 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:285 KDB: stack backtrace: db_trace_self_wrapper(d63a1a60,c08dfe38,c0c80821,c0c284c4,d63a1ac8,...) at db_trace_self_wrapper+0x26 _witness_debugger(c0c19b98,c35b2c00,c0c284c4,c342fce0,c0c80821,...) at _witness_debugger+0x25 witness_checkorder(c35b2c00,9,c0c80818,11d,0,...) at witness_checkorder+0x7f6 _sx_xlock(c35b2c00,0,c0c80818,11d,cd637490,...) at _sx_xlock+0x52 ufsdirhash_acquire(d63a1b2c,0,0,c00,490,...) at ufsdirhash_acquire+0x35 ufsdirhash_remove(c36e5bc8,cd637490,490,d63a1b60,d63a1b5c,...) at ufsdirhash_remove+0x1d ufs_dirremove(c35f4324,c370315c,500800c,0,c35f4324,...) at ufs_dirremove+0x180 ufs_remove(d63a1c34,d63a1c44,d63a1c0c,d63a1c0c,c3726860,...) at ufs_remove+0x81 VOP_REMOVE_APV(c0d56ec0,d63a1c34,c3726860,d63a1c0c,bfbfeeec,...) at VOP_REMOVE_APV+0x5d kern_unlinkat(c3719900,ffffff9c,bfbfeeec,0,d63a1c80,...) at kern_unlinkat+0x23d kern_unlink(c3719900,bfbfeeec,0,d63a1d2c,c0b87b67,...) at kern_unlink+0x27 unlink(c3719900,d63a1cf8,4,c0c282d2,c0d36218,...) at unlink+0x22 syscall(d63a1d38) at syscall+0x177 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (10, FreeBSD ELF32, unlink), eip = 0x28135c07, esp = 0xbfbfebbc, ebp = 0xbfbfecb8 --- ed0: ed_stop_hw RST never set ed0: ed_stop_hw RST never set Waiting (max 60 seconds) for system process `vnlru' to stop...done Waiting (max 60 seconds) for system process `bufdaemon' to stop...done Waiting (max 60 seconds) for system process `syncer' to stop... Syncing disks, vnodes remaining...0 done All buffers synced. lock order reversal: 1st 0xc35f49c4 ufs (ufs) @ kern/vfs_mount.c:1200 2nd 0xc35f4df4 devfs (devfs) @ kern/vfs_subr.c:2083 KDB: stack backtrace: db_trace_self_wrapper(d636e9e4,c08dfe38,c0c1e124,c0c11fcc,d636ea4c,...) at db_trace_self_wrapper+0x26 _witness_debugger(c0c19b98,c35f4df4,c0c11fcc,c342fba8,c0c1e124,...) at _witness_debugger+0x25 witness_checkorder(c35f4df4,9,c0c1e11b,823,0,...) at witness_checkorder+0x7f6 __lockmgr_args(c35f4df4,80100,c35f4e10,0,0,...) at __lockmgr_args+0xf00 vop_stdlock(d636eb20,3,c35b0994,80000,c35f4d9c,...) at vop_stdlock+0x54 VOP_LOCK1_APV(c0d32b00,d636eb20,c342ba40,c0d6f720,c35f4d9c,...) at VOP_LOCK1_APV+0x7f _vn_lock(c35f4d9c,80100,c0c1e11b,823,15f,...) at _vn_lock+0x49 vget(c35f4d9c,80100,c36f5b40,15e,9d,...) at vget+0x66 devfs_allocv(c36dd080,c36df000,d636ebb4,9d,c35f496c,...) at devfs_allocv+0x110 devfs_root(c36df000,80000,d636ebf0,4f5,c31b0df0,...) at devfs_root+0x4a dounmount(c36df000,80000,c36f5b40,c36f5b40,c3176230,...) at dounmount+0x53e vfs_unmountall(c31763e0,0,c0c174e4,129,0,...) at vfs_unmountall+0x50 boot(c0da3a30,0,c0c174e4,ac,c0d36100,...) at boot+0x757 reboot(c36f5b40,d636ecf8,4,c0c1add0,c0d36704,...) at reboot+0x77 syscall(d636ed38) at syscall+0x177 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (55, FreeBSD ELF32, reboot), eip = 0x28132687, esp = 0xbfbfed3c, ebp = 0x1 --- Uptime: 25m7s Rebooting...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908301000.n7UA09cB068512>