Date: Sun, 29 Jul 2001 15:39:00 -0700 (PDT) From: Matthew Jacob <mjacob@feral.com> To: John Baldwin <jhb@FreeBSD.org> Cc: <smp@FreeBSD.org> Subject: RE: kaboom... Message-ID: <20010729153617.C44279-100000@wonky.feral.com> In-Reply-To: <XFMail.010726080719.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > This is new however. The real problem is something trap'd during exit1(). It > would be helpful to see what source line is at exit1+0x15e4. The other issue > is that I've no idea why the process lock is being used as the interlock for a > vm_map lock. Happened again once. It may be if I do 2 make -j 8 kernel builds I get this. The panic is somewhere in exit1 where marked: -------- /* * notify interested parties of our demise. */ PROC_LOCK(p); KNOTE(&p->p_klist, NOTE_EXIT); /* * Notify parent that we're gone. If parent has the PS_NOCLDWAIT * flag set, or if the handler is set to SIG_IGN, notify process * 1 instead (and hope it will handle this situation). */ if ((p->p_pptr->p_procsig->ps_flag & PS_NOCLDWAIT) || p->p_pptr->p_sigacts->ps_sigact[_SIG_IDX(SIGCHLD)] == SIG_IGN) { struct proc *pp = p->p_pptr; >>>>> proc_reparent(p, initproc); /* * If this was the last child of our parent, notify * parent, so in case he was wait(2)ing, he will * continue. */ if (LIST_EMPTY(&pp->p_children)) wakeup((caddr_t)pp); } PROC_LOCK(p->p_pptr); if (p->p_sigparent && p->p_pptr != initproc) psignal(p->p_pptr, p->p_sigparent); else psignal(p->p_pptr, SIGCHLD); PROC_UNLOCK(p->p_pptr); --------- Shouldn't there be a PROC_LOC(p->p_pptr) prior to trying to touch or test stuff in the paren't PROC structure? Would it be easier to move PROC_LOCK(p->p_pptr) above the conditional? Naive.... -matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010729153617.C44279-100000>