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