Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jan 2002 18:22:47 -0800
From:      Alfred Perlstein <alfred@FreeBSD.org>
To:        Peter Wemm <peter@wemm.org>
Cc:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/netgraph ng_socket.c src/sys/alpha/osf1 osf1_misc.c src/sys/compat/linux linux_file.c linux_ioctl.c linux_stats.c src/sys/compat/svr4 svr4_fcntl.c svr4_filio.c svr4_ioctl.c svr4_stream.c src/sys/dev/aac aac.c src/sys/dev/tdfx ...
Message-ID:  <20020113182247.A7984@elvis.mu.org>
In-Reply-To: <20020114020445.72A28380D@overcee.wemm.org>; from peter@wemm.org on Sun, Jan 13, 2002 at 06:04:45PM -0800
References:  <200201140013.g0E0Dje20784@freefall.freebsd.org> <20020114020445.72A28380D@overcee.wemm.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Peter Wemm <peter@wemm.org> [020113 18:04] wrote:
> Alfred Perlstein wrote:
> > alfred      2002/01/13 16:13:45 PST
> >   Log:
> >   Replace ffind_* with fget calls.
> >   
> >   Make fget MPsafe.
> >   
> >   Make fgetvp and fgetsock use the fget subsystem to reduce code bloat.
> >   
> >   Push giant down in fpathconf().
> 
> Still no joy:
> #12 0xc01f0c57 in panic (fmt=0xc0302ac0 "mutex %s %p already initialized")
>     at ../../../kern/kern_shutdown.c:634
> #13 0xc01eab5b in mtx_init (m=0xd9c9bb90, 
>     description=0xc02fd5ae "struct file", opts=0)
>     at ../../../kern/kern_mutex.c:643
> #14 0xc01c215b in fifo_ioctl (ap=0xd9c9bbec)
>     at ../../../fs/fifofs/fifo_vnops.c:352
> #15 0xc01c1cc5 in fifo_vnoperate (ap=0xd9c9bbec)
>     at ../../../fs/fifofs/fifo_vnops.c:135
> #16 0xc0287e91 in ufs_vnoperatefifo (ap=0xd9c9bbec)
>     at ../../../ufs/ufs/ufs_vnops.c:2667
> #17 0xc0232f23 in vn_ioctl (fp=0xc23a6080, com=2147772029, data=0xd9c9bcb0 "", 
>     td=0xd9c8b904) at vnode_if.h:357
> #18 0xc01dba53 in fcntl (td=0xd9c8b904, uap=0xd9c9bd20)
>     at ../../../sys/file.h:200
> #19 0xc02c542f in syscall (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, 
>       tf_edi = 1, tf_esi = 12, tf_ebp = -1077937476, tf_isp = -641090188, 
>       tf_ebx = 6, tf_edx = 0, tf_ecx = 0, tf_eax = 92, tf_trapno = 12, 
>       tf_err = 2, tf_eip = 672002292, tf_cs = 31, tf_eflags = 518, 
>       tf_esp = -1077937520, tf_ss = 47}) at ../../../i386/i386/trap.c:1034
> 
> At frame 18:
> (kgdb) p td->td_proc->p_comm
> $3 = "master\000\000\000er\000\000\000\000\000\000\000\000"
> 
> This is a postfix process.  Postfix has been the victim of my last three
> panics (all fifo related, either select or fcntl).

Invariants wants me to bzero the mutex before initializing it otherwise
it freaks out because it sees what _looks_ like an already initialized 
mutex...

lame...

Rev 1.61 should fix it for you:

don't initialize the mutex in the temporary struct file, the soo_*
functions just grab f_data and don't muck with anything else so this
should be ok.

this fixes a panic with invariants where it thinks we've doubly initialized
the filetmp mutex even though all we've done is neglect to bzero it.


-- 
-Alfred Perlstein [alfred@freebsd.org]
'Instead of asking why a piece of software is using "1970s technology,"
 start asking why software is ignoring 30 years of accumulated wisdom.'
Tax deductable donations for FreeBSD: http://www.freebsdfoundation.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020113182247.A7984>