LOR: so_snd @ /usr/src/sys/kern/uipc_coket.c:780

Mark Atkinson atkin901 at yahoo.com
Tue Nov 29 20:16:57 GMT 2005


this one seems new, and doesn't seem to match anything on the known 
list.  Typed by hand.  Single processor, no hyperthreading.  The last 
thing it was doing was doing a 'test' command on a file over nfs.

Lock order reversal:
1st 0xc5ef0ec so_snd (so_snd) @ /usr/src/sys/kern/uipc_socket.c:780
2nd 0xc0ac15ec tcp (tcp) @ /usr/src/sys/netinet/tcp_usrreq.c:580
KDB: stack backstrace:
kdb_backtrace() at kdb_backtrace+0x2e
witness_checkorder() at witness_checkorder+0x6d3
_mtx_lock_flags() at _mtx_lock_flags+0x8a
tcp_usr_shutdown() at tcp_usr_shutdown+0x3d
soshutdown() at soshutdown+0x41
nfs_disconnect() at nfs_disconnect+0xd5
nfs_reconnect() at nfs_reconnect+0x1c
nfs_reply() at nfs_reply+0x170
nfs_request() at nfs_request+0x451
nfs3_access_otw() at nfs3_access_otw+0xde
nfs_access() at nfs_access+0x120
VOP_ACCESS_APV() at VOP_ACCESS_APV+0xac
nfs_lookup() at nfs_lookup+0xe5
VOP_LOOKUP_APV() at VOP_LOOKUP_APV+0xb4
lookup() at lookup+0x468
namei() at namei+0x468
kern_stat() at kern_stat+0x3d
stat() at stat+0x2f
syscall() at Xint0x80_syscall+0x1f
--- syscall (188, FreeBSD ELF32, stat, eip = 0x2819ad63, esp = 
0xbfbfe8cc, ebp = 0xbfbfe9c8 ---
panic: _mtx_lock_sleep: recursed on non-recursive mutex so_snd @ 
/usr/src/sys/kern/uipc_socket.c:391

cpuid = 0
KDB: enter: panic
Stopped at 	kdb_enter+0x30: leave
db>
db> show alllocks
Process 54517 (sh) thread 0xc5f1fd80 (100100)
exclusive sleep mutex so_snd r = 0 (0xc5aef0ec) locked @ 
/usr/src/sys/kern/uipc_socket.c:780
exclusive sleep mutex Giant r = 0 (0xc0a713c0) locked @ 
/usr/src/sys/kern/vfs_lookup.c:619
Process 54515 (cc1) thread 0xc5eac600 (100093)
exclusive sx user map r = 0 (0xc5fa2170) locked @ 
/usr/src/sys/vm/vm_map:2996



More information about the freebsd-current mailing list