# LOR on umount -CURRENT-200906



## gnemmi (Jun 25, 2009)

Plug pendrive:


```
Jun 24 23:36:35 gargoyle login: ROOT LOGIN (root) ON ttyv0
Jun 24 23:42:50 gargoyle root: Unknown USB device: vendor 0x08ec product 0x0008 bus uhub2
Jun 24 23:42:50 gargoyle kernel: ugen6.2: <Kingston> at usbus6
Jun 24 23:42:50 gargoyle kernel: umass0: <Kingston DataTraveler 2.0, class 0/0, rev 2.00/1.00, addr 2> on usbus6
Jun 24 23:42:50 gargoyle kernel: umass0:  SCSI over Bulk-Only; quirks = 0x0000
Jun 24 23:42:51 gargoyle kernel: umass0:1:0:-1: Attached to scbus1
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed
Jun 24 23:42:53 gargoyle kernel: (probe0:umass-sim0:0:0:0): Retrying Command (per Sense Data)
Jun 24 23:42:53 gargoyle kernel: da0 at umass-sim0 bus 0 target 0 lun 0
Jun 24 23:42:53 gargoyle kernel: da0: <Kingston DataTraveler 2.0 1.04> Removable Direct Access SCSI-0 device 
Jun 24 23:42:53 gargoyle kernel: da0: 40.000MB/s transfers
Jun 24 23:42:53 gargoyle kernel: da0: 490MB (1003520 512 byte sectors: 64H 32S/T 490C)
Jun 24 23:42:53 gargoyle kernel: GEOM: da0: partition 1 does not start on a track boundary.
Jun 24 23:42:53 gargoyle kernel: GEOM: da0: partition 1 does not end on a track boundary.
Jun 24 23:44:10 gargoyle kernel: GEOM: da0: partition 1 does not start on a track boundary.
Jun 24 23:44:10 gargoyle kernel: GEOM: da0: partition 1 does not end on a track boundary.
```

`# mount_msdosfs /dev/da0s1 pen/`, write and then `# umount pen/`:


```
Jun 24 23:46:22 gargoyle kernel: lock order reversal:
Jun 24 23:46:22 gargoyle kernel: 1st 0xc4db0ad0 ufs (ufs) @ /usr/src/sys/kern/vfs_mount.c:1197
Jun 24 23:46:22 gargoyle kernel: 2nd 0xc4db09c4 devfs (devfs) @ /usr/src/sys/fs/msdosfs/msdosfs_vfsops.c:944
Jun 24 23:46:22 gargoyle kernel: KDB: stack backtrace:
Jun 24 23:46:22 gargoyle kernel: db_trace_self_wrapper(c0c54f45,e6d69a48,c08a9025,c0899e6b,c0c57d88,...) at db_trace_self_wrapper+0x26
Jun 24 23:46:22 gargoyle kernel: kdb_backtrace(c0899e6b,c0c57d88,c452dad8,c452d9a0,e6d69aa4,...) at kdb_backtrace+0x29
Jun 24 23:46:22 gargoyle kernel: _witness_debugger(c0c57d88,c4db09c4,c0c46f00,c452d9a0,c0c47739,...) at _witness_debugger+0x25
Jun 24 23:46:22 gargoyle kernel: witness_checkorder(c4db09c4,9,c0c47739,3b0,c4db09e0,...) at witness_checkorder+0x839
Jun 24 23:46:22 gargoyle kernel: __lockmgr_args(c4db09c4,80400,c4db09e0,0,0,...) at __lockmgr_args+0x797
Jun 24 23:46:22 gargoyle kernel: vop_stdlock(e6d69bac,c0ee0508,c4af0524,80400,c4db096c,...) at vop_stdlock+0x62
Jun 24 23:46:22 gargoyle kernel: VOP_LOCK1_APV(c0d31660,e6d69bac,e6d69bcc,c0d6dc40,c4db096c,...) at VOP_LOCK1_APV+0xb5
Jun 24 23:46:22 gargoyle kernel: _vn_lock(c4db096c,80400,c0c47739,3b0,c4db2284,...) at _vn_lock+0x5e
Jun 24 23:46:22 gargoyle kernel: msdosfs_sync(c4db2284,1,c0c5e69c,4f2,80,...) at msdosfs_sync+0x29c
Jun 24 23:46:22 gargoyle kernel: dounmount(c4db2284,8000000,c4af0480,478,2,...) at dounmount+0x44e
Jun 24 23:46:22 gargoyle kernel: unmount(c4af0480,e6d69cf8,8,c0c5860a,c0d34bc8,...) at unmount+0x2df
Jun 24 23:46:22 gargoyle kernel: syscall(e6d69d38) at syscall+0x2a3
Jun 24 23:46:22 gargoyle kernel: Xint0x80_syscall() at Xint0x80_syscall+0x20
Jun 24 23:46:22 gargoyle kernel: --- syscall (22, FreeBSD ELF32, unmount), eip = 0x280d916f, esp = 0xbfbfe53c, ebp = 0xbfbfe608 ---
```

`# umount /dev/da0s1` works as expected.

verbose boot

Please ask for more info if you need it.

Best Regards
Gonzalo


----------



## gnemmi (Jul 7, 2009)

Still present on -BETA1


```
lock order reversal:
 1st 0xc4e8ead0 ufs (ufs) @ /usr/src/sys/kern/vfs_mount.c:1199
 2nd 0xc4e63ad0 devfs (devfs) @ /usr/src/sys/fs/msdosfs/msdosfs_vfsops.c:944
KDB: stack backtrace:
db_trace_self_wrapper(c0c5b564,e6de9a48,c08b5b35,c08a68db,c0c5e3f9,...) at db_trace_self_wrapper+0x26
kdb_backtrace(c08a68db,c0c5e3f9,c4530430,c4530360,e6de9aa4,...) at kdb_backtrace+0x29
_witness_debugger(c0c5e3f9,c4e63ad0,c0c4d3c5,c4530360,c0c4dba9,...) at _witness_debugger+0x25
witness_checkorder(c4e63ad0,9,c0c4dba9,3b0,c4e63aec,...) at witness_checkorder+0x839
__lockmgr_args(c4e63ad0,80400,c4e63aec,0,0,...) at __lockmgr_args+0x7a7
vop_stdlock(e6de9bac,c0ee9a48,c4afe764,80400,c4e63a78,...) at vop_stdlock+0x62
VOP_LOCK1_APV(c0d38d00,e6de9bac,e6de9bcc,c0d75c00,c4e63a78,...) at VOP_LOCK1_APV+0xb5
_vn_lock(c4e63a78,80400,c0c4dba9,3b0,c4add284,...) at _vn_lock+0x5e
msdosfs_sync(c4add284,1,c0c64e9d,4f4,80,...) at msdosfs_sync+0x29c
dounmount(c4add284,8000000,c4afe6c0,479,2,...) at dounmount+0x44e
unmount(c4afe6c0,e6de9cf8,8,c0c5ec8a,c0d3c288,...) at unmount+0x30f
syscall(e6de9d38) at syscall+0x2a3
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (22, FreeBSD ELF32, unmount), eip = 0x280d91ff, esp = 0xbfbfe53c, ebp = 0xbfbfe608 ---
```


----------



## aragon (Jul 8, 2009)

Best would be to pull and build latest sources before reporting these.  That snapshot is old now.


----------



## gnemmi (Jul 9, 2009)

That's why I posted it's still present on -BETA1 (i386) ...


----------

