panic: mutex accept not owned at
/usr/src/sys/kern/uipc_socket.c:493
Robert Watson
rwatson at freebsd.org
Tue Nov 2 09:01:16 PST 2004
On Tue, 2 Nov 2004, Dikshie wrote:
> dear all, cvsup-ed yesterday (WIT/West Indonesia Time) I got my
> FreeBSD-5.3-STABLE box panic: herewith the message:
It looks like there's a missing call to ACCEPT_LOCK() in
uipc_socket.c:soabort(). It should appear before the call to SOCK_LOCK().
Could you try the attached patch?
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Principal Research Scientist, McAfee Research
Index: uipc_socket.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/uipc_socket.c,v
retrieving revision 1.215
diff -u -r1.215 uipc_socket.c
--- uipc_socket.c 23 Oct 2004 19:06:43 -0000 1.215
+++ uipc_socket.c 2 Nov 2004 16:57:58 -0000
@@ -490,6 +490,7 @@
error = (*so->so_proto->pr_usrreqs->pru_abort)(so);
if (error) {
+ ACCEPT_LOCK();
SOCK_LOCK(so);
sotryfree(so); /* note: does not decrement the ref count */
return error;
>
> panic: mutex accept not owned at /usr/src/sys/kern/uipc_socket.c:493
> KDB: stack backtrace:
> kdb_backtrace(100,c2807af0,c070cd20,1ed,c06abc86) at 0xc0521c5d = kdb_backtrace+0x29
> panic(c06a6b16,c06b3fcd,c06abc86,1ed,c1e92578) at 0xc050bc58 = panic+0xa8
> _mtx_assert(c070cb20,1,c06abc86,1ed,c1e92578,0,c06abc86,1ec) at 0xc0504424 = _mtx_assert+0x5c
> soabort(c1e92510,c070cb20,0,c06abc86,1b5) at 0xc053e9f7 = soabort+0x4f
> soclose(c29743cc,c1d4fcc0,0,da15fb98,c04f14d0) at 0xc053e80c = soclose+0x120
> soo_close(c1d4fcc0,c2807af0) at 0xc053066f = soo_close+0x4b
> fdrop_locked(c1d4fcc0,c2807af0,c1965664,0,c06a4247) at 0xc04f14d0 = fdrop_locked+0x84
> fdrop(c1d4fcc0,c2807af0,c072f520,8c0,c06bccd6) at 0x04f0720 = fdrop+0x24
> closef(c1d4fcc0,c2807af0) at 0xc04f06f3 = closef+0x1db
> fdfree(c2807af0,c42e89e8,c06a4247,826,c1e7d044) at 0xc04f004f = fdfree+0x2ff
> exit1(c2807af0,0,da15fd40,c066a9bb,c2807af0) at 0xc04f70ca = exit1+0x3e6
> exit1(c2807af0,da15fd14,1,0,292) at 0xc04f6ce4 = exit1
> syscall(2f,2f,2f,1,8069100) at 0xc066a9bb = syscall+0x213
> Xint0x80_syscall() at 0xc065afaf = Xint0x80_syscall+0x1f
> --- syscall (1, FreeBSD ELF32, sys_exit), eip = 0x28129373, esp = 0xbfbfe34c, ebp = 0xbfbfe368 ---
>
>
>
>
>
>
> any solutions ?
>
>
> thanks !
>
>
> -dikshie-
> _______________________________________________
> 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