Unloaded system upgrading from 7.2-SECURITY to 8.0-BETA2 via freebsd-update. Halfway through the second install phase, in which I was running the 8.0-BETA2 kernel but a 7.2-SECURITY userland, I got this LOR: lock order reversal: 1st 0xc557f310 bufwait (bufwait) @ /usr/src/sys/kern/vfs_bio.c:2558 2nd 0xc5d82600 dirhash (dirhash) @ /usr/src/sys/ufs/ufs/ufs_dirhash.c:285 KDB: stack backtrace: db_trace_self_wrapper(c0c6baf4,f4b9175c,c08bc995,c08ad6db,c0c6e989,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c08ad6db,c0c6e989,c592bef8,c592f500,f4b917b8,...) at kdb_backtrace+0x29 _witness_debugger(c0c6e989,c5d82600,c0c8f767,c592f500,c0c8f400,...) at _witness_debugger+0x25 witness_checkorder(c5d82600,9,c0c8f400,11d,0,...) at witness_checkorder+0x839 _sx_xlock(c5d82600,0,c0c8f400,11d,c5ff3d24,...) at _sx_xlock+0x85 ufsdirhash_acquire(c557f2b0,f4b918d0,16c,e581c8ac,f4b91888,...) at ufsdirhash_acquire+0x35 ufsdirhash_add(c5ff3d24,f4b918d0,8ac,f4b91874,f4b91878,...) at ufsdirhash_add+0x13 ufs_direnter(c5b96648,cceff324,f4b918d0,f4b91bd0,0,...) at ufs_direnter+0x729 ufs_makeinode(f4b91bd0,0,f4b91abc,f4b91a18,c0bb6745,...) at ufs_makeinode+0x508 ufs_create(f4b91abc,f4b91ad4,0,0,f4b91ba4,...) at ufs_create+0x30 VOP_CREATE_APV(c0d6e7e0,f4b91abc,f4b91bd0,f4b91a54,0,...) at VOP_CREATE_APV+0xa5 vn_open_cred(f4b91ba4,f4b91c5c,1a0,0,c8596900,...) at vn_open_cred+0x215 vn_open(f4b91ba4,f4b91c5c,1a0,c78877e0,0,...) at vn_open+0x3b kern_openat(d872e480,ffffff9c,28303514,0,602,...) at kern_openat+0x11f kern_open(d872e480,28303514,0,601,1b6,...) at kern_open+0x35 open(d872e480,f4b91cf8,c,d872e480,c0d4d44c,...) at open+0x30 syscall(f4b91d38) at syscall+0x2a3 Xint0x80_syscall() at Xint0x80_syscall+0x20 --- syscall (5, FreeBSD ELF32, open), eip = 0x281d8833, esp = 0xbfbfe16c, ebp = 0xbfbfe208 --- The system is using ZFS for some mounts (may not be relevant): royce@max$ mount /dev/ad4s1a on / (ufs, local) devfs on /dev (devfs, local, multilabel) tank/home on /home (zfs, local, nosuid) tank on /tank (zfs, local) tank/tmp on /tmp (zfs, local, noatime, nosuid) tank/usr on /usr (zfs, local, noatime) tank/var on /var (zfs, local, noatime, nosuid) royce@max$ zpool upgrade This system is currently running ZFS pool version 13. The following pools are out of date, and can be upgraded. After being upgraded, these pools will no longer be accessible by older software versions. VER POOL --- ------------ 6 tank Fix: Patch attached with submission follows: How-To-Repeat: Probably I/O related, but in brief: #### Install FreeBSD 7.2. # freebsd-update fetch install # shutdown -r now # ## System is now running 7.2-SECURITY as of 2009-07-21 #### Upgrade to 8.0-BETA2 kernel. # freebsd-update -r 8.0-BETA2 upgrade # freebsd-update install # shutdown -r now #### Perform second phase of install. # freebsd-update install #### LOR occurred here.
Minor non-tech detail: my name is "Royce Williams", not "Royce William" (typo).
Responsible Changed From-To: freebsd-bugs->freebsd-fs Over to maintainer(s).
This should be harmless. Take a look at http://sources.zabbadoz.net/freebsd/lor/261.html Have you had any problems since the LOR message came up?
Nick Barkas wrote, on 7/25/2009 2:11 AM: > This should be harmless. Take a look at > http://sources.zabbadoz.net/freebsd/lor/261.html > > Have you had any problems since the LOR message came up? None; if harmless, then please close this PR. I will try to do a better job of detecting duplicate issue reports in the future. Sorry for the trouble. Royce
State Changed From-To: open->closed This LOR cannot result in deadlock: http://sources.zabbadoz.net/freebsd/lor/261.html