Date: Mon, 20 Jun 2005 20:12:47 +0200 From: Philippe PEGON <Philippe.Pegon@crc.u-strasbg.fr> To: Mitch Parks <mitch@kuoi.asui.uidaho.edu> Cc: freebsd-stable@freebsd.org Subject: Re: 5.4-p1 crash Message-ID: <42B7071F.30704@crc.u-strasbg.fr> In-Reply-To: <20050619180740.H750@kuoi.asui.uidaho.edu> References: <20050617150950.F1236@kuoi.asui.uidaho.edu> <20050619161113.V83634@carver.gumbysoft.com> <20050619180740.H750@kuoi.asui.uidaho.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Mitch Parks wrote: > 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. I'm not a kernel developper, but if you remove PGRP_LOCK(tp->t_pgrp); and the PGRP_UNLOCK(tp->t_pgrp) in the if condition (removed by the orginal patch) there is maybe another "PGRP_UNLOCK(tp->t_pgrp);" to remove if the if condition doesn't match, line 2528 in the original 5.4-p1 tty.c ? > > .... > 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 > _______________________________________________ > freebsd-stable@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org" -- Philippe PEGON
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42B7071F.30704>