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

Mark Atkinson atkin901 at yahoo.com
Tue Nov 29 20:51:12 GMT 2005


Sorry about fat-fingering the title.   -current build from this morning.

Mark Atkinson wrote:
> 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
> 
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
> 



More information about the freebsd-current mailing list