From owner-freebsd-stable@FreeBSD.ORG Mon Jun 20 01:25:00 2005 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B5E416A41C for ; Mon, 20 Jun 2005 01:25:00 +0000 (GMT) (envelope-from mitch@kuoi.asui.uidaho.edu) Received: from kuoi.asui.uidaho.edu (kuoi.asui.uidaho.edu [129.101.191.123]) by mx1.FreeBSD.org (Postfix) with SMTP id 6549343D48 for ; Mon, 20 Jun 2005 01:25:00 +0000 (GMT) (envelope-from mitch@kuoi.asui.uidaho.edu) Received: (qmail 2179 invoked by uid 1010); 20 Jun 2005 01:24:59 -0000 Received: from localhost (sendmail-bs@127.0.0.1) by localhost with SMTP; 20 Jun 2005 01:24:59 -0000 Date: Sun, 19 Jun 2005 18:24:59 -0700 (PDT) From: Mitch Parks To: Doug White In-Reply-To: <20050619161113.V83634@carver.gumbysoft.com> Message-ID: <20050619180740.H750@kuoi.asui.uidaho.edu> References: <20050617150950.F1236@kuoi.asui.uidaho.edu> <20050619161113.V83634@carver.gumbysoft.com> X-Radio: KUOI MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-stable@freebsd.org Subject: Re: 5.4-p1 crash X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2005 01:25:00 -0000 On Sun, 19 Jun 2005, Doug White wrote: > On Fri, 17 Jun 2005, Mitch Parks wrote: >> Below are details regarding another crash on a Dell 2600 SMP (HTT and USB >> disabled). It has been 9 days since the last crash. I didn't have the serial >> console in place for this last crash, but it is now. > > As noted, the ttwakeup() panic is a known bug. The best thing we have for > a fix is this patch: > > http://people.freebsd.org/~mlaier/tty.t_pgrp.diff > > Please give it a try and report back if you have any more panics (or > don't :-) ). Thanks! This patch appears to be for 5.3, but I manually applied the chunk of the patch that didn't apply cleanly and the countdown is on. I'll report back in 10 days unless something bad happens before then. Below is the patch chunk #10 that I actually applied rather than the one given. If I've done something bad here by removing the PGRP_LOCK please let me know. .... Hunk #6 succeeded at 1154 (offset -51 lines). Hunk #7 succeeded at 1215 (offset -6 lines). Hunk #8 succeeded at 1203 (offset -51 lines). Hunk #9 succeeded at 1946 (offset -5 lines). Hunk #10 failed at 2562. Hunk #11 succeeded at 2847 (offset -212 lines). 1 out of 11 hunks failed--saving rejects to tty.c.rej @@ -2495,19 +2511,21 @@ * On return following a ttyprintf(), we set tp->t_rocount to 0 so * that pending input will be retyped on BS. */ + sx_slock(&proctree_lock); if (tp->t_session == NULL) { + sx_sunlock(&proctree_lock); ttyprintf(tp, "not a controlling terminal\n"); tp->t_rocount = 0; return; } if (tp->t_pgrp == NULL) { + sx_sunlock(&proctree_lock); ttyprintf(tp, "no foreground process group\n"); tp->t_rocount = 0; return; } - PGRP_LOCK(tp->t_pgrp); - if ((p = LIST_FIRST(&tp->t_pgrp->pg_members)) == 0) { - PGRP_UNLOCK(tp->t_pgrp); + if ((p = LIST_FIRST(&tp->t_pgrp->pg_members)) == NULL) { + sx_sunlock(&proctree_lock); ttyprintf(tp, "empty foreground process group\n"); tp->t_rocount = 0; return; Or the complete patch: http://kuoi.asui.uidaho.edu/~mitch/crash/tty_5.4.patch Mitch Parks mitch@kuoi.asui.uidaho.edu