Re: panic: Exit: Single threading fouled up

From: Daniel Eischen <eischen_at_vigrid.com>
Date: Mon, 26 Apr 2004 14:18:57 -0400 (EDT)
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
Received on Mon Apr 26 2004 - 09:18:58 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:52 UTC