panic: Exit: Single threading fouled up
    Daniel Eischen 
    eischen at vigrid.com
       
    Mon Apr 26 11:18:58 PDT 2004
    
    
  
On Mon, 26 Apr 2004, Daniel Eischen wrote:
> On Mon, 26 Apr 2004, Gavin Atkinson wrote:
> 
> > 
> > Hi,
> > 
> > I've seen this panic twice now, once on a heavily loaded UP machine
> > running gnome at the time, and once on an SMP (hyperthreaded) machine
> > which was mostly idle as it was shutting down. Both running with ULE.
> [ ... ]
> > 
> > Unfortunately I have been unable to get a dump on either machine.  Sadly,
> > it's not not reproducible.
> 
> There looks to be a missing PROC_UNLOCK in kern/kern_sig.c::sigexit().
> 
> Does this patch help any?
Nevermind.  coredump() drops the proc lock.
There does look to be a couple ways out of coredump() without releasing
GIANT, though.
	if (vn_start_write(vp, &mp, V_NOWAIT) != 0) {
		lf.l_type = F_UNLCK;
		if (locked)
			VOP_ADVLOCK(vp, (caddr_t)p, F_UNLCK, &lf, F_FLOCK);
		if ((error = vn_close(vp, FWRITE, cred, td)) != 0)
->
			return (error);
		if ((error = vn_start_write(NULL, &mp, V_XSLEEP | PCATCH)) != 0)
->
			return (error);
		goto restart;
	}
-- 
Dan Eischen
    
    
More information about the freebsd-current
mailing list