From owner-freebsd-current Sun Jul 29 1:50:29 2001 Delivered-To: freebsd-current@freebsd.org Received: from oahu.WURLDLINK.NET (oahu.WURLDLINK.NET [216.235.52.1]) by hub.freebsd.org (Postfix) with ESMTP id 45D4937B403; Sun, 29 Jul 2001 01:50:21 -0700 (PDT) (envelope-from vince@oahu.WURLDLINK.NET) Received: from localhost (vince@localhost) by oahu.WURLDLINK.NET (8.11.3/8.11.3) with ESMTP id f6T8npS55876; Sat, 28 Jul 2001 22:49:51 -1000 (HST) (envelope-from vince@oahu.WURLDLINK.NET) Date: Sat, 28 Jul 2001 22:49:51 -1000 (HST) From: Vincent Poy To: Ian Dowse Cc: , , Subject: Re: SIGCHLD changes causing fault on nofault entry panics In-Reply-To: <200107271451.aa00148@salmon.maths.tcd.ie> Message-ID: <20010728224835.Q48916-100000@oahu.WURLDLINK.NET> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, 27 Jul 2001, Ian Dowse wrote: > > The panics in exit1() that have been reported on -stable appear to > be caused by these commits: > > REV:1.92.2.4 kern_exit.c 2001/07/25 17:21:46 dillon > REV:1.72.2.7 kern_sig.c 2001/07/25 17:21:46 dillon > > MFC kern_exit.c 1.131, kern_sig.c 1.125 - bring SIGCHLD SIG_IGN signal > handling in line with other operating systems. > > These probably correspond to similar panics seen in -current, but I > haven't checked the details. > > In the vmcore I just got, the panic occurred in the following > fragment in exit1(), when dereferencing p_sigacts (which is > p_procsig->ps_sigacts). I guess there is a race here if the parent > is exiting or something? > > + if ((p->p_pptr->p_procsig->ps_flag & PS_NOCLDWAIT) > + || p->p_pptr->p_sigacts->ps_sigact[_SIG_IDX(SIGCHLD)] == SIG_IGN) { > > Matt, I will just back out these changes from RELENG_4 shortly > until the issue is resolved. The change was non-essential and quite > contained, so it's probably better than waiting for a fix. > > Ian The problem seems to cause the following panic in vm_glue.c and nd kern_lock.c as well. Jul 28 21:29:40 pele /boot/kernel/kernel: lock order reversal Jul 28 21:29:40 pele /boot/kernel/kernel: lock order reversal Jul 28 21:29:40 pele /boot/kernel/kernel: 1st 0xd92fea9c process lock @ /usr/src/sys/vm/vm_glue.c:469 Jul 28 21:29:40 pele /boot/kernel/kernel: 1st 0xd92fea9c process lock @ /usr/src/sys/vm/vm_glue.c:469 Jul 28 21:29:40 pele /boot/kernel/kernel: 2nd 0xc118dfb0 lockmgr interlock @ /usr/src/sys/kern/kern_lock.c:239 Jul 28 21:29:40 pele /boot/kernel/kernel: 2nd 0xc118dfb0 lockmgr interlock @ /usr/src/sys/kern/kern_lock.c:239 panic: recurse Debugger ("panic") Stopped at Debugger+0x44: push1 %ebx db> and then it just hangs solid here. Cheers, Vince - vince@WURLDLINK.NET - Vice President ________ __ ____ Unix Networking Operations - FreeBSD-Real Unix for Free / / / / | / |[__ ] WurldLink Corporation / / / / | / | __] ] San Francisco - Honolulu - Hong Kong / / / / / |/ / | __] ] HongKong Stars/Gravis UltraSound Mailing Lists Admin /_/_/_/_/|___/|_|[____] Almighty1@IRC - oahu.DAL.NET Hawaii's DALnet IRC Network Server Admin To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message