Date: Tue, 05 Oct 2004 16:41:16 -0400 From: Stephan Uphoff <ups@tree.com> To: John Baldwin <jhb@FreeBSD.org> Cc: "freebsd-arch@freebsd.org" <freebsd-arch@FreeBSD.org> Subject: Re: scheduler (sched_4bsd) questions Message-ID: <1097008876.50232.476.camel@palm.tree.com> In-Reply-To: <200410051000.15379.jhb@FreeBSD.org> References: <1095468747.31297.241.camel@palm.tree.com> <20041004184939.GA8178@peter.osted.lan> <1096945958.46385.44.camel@palm.tree.com> <200410051000.15379.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 2004-10-05 at 10:00, John Baldwin wrote: > On Monday 04 October 2004 11:12 pm, Stephan Uphoff wrote: > > On Mon, 2004-10-04 at 14:49, Peter Holm wrote: > > > On Mon, Oct 04, 2004 at 01:34:38PM -0400, Stephan Uphoff wrote: > > > > ---- snip ---- > > > > > > - but my time budget is limited and Peter has an interesting bug left > > > > that has priority. > > > > > > I'm not closer to being able to create this panic in a controlled way. > > > After a whole day of different tests I finally got this panic: > > > http://www.holm.cc/stress/log/cons81.html. The trigger seems to be one > > > particular Java applet, but it is not easily reproduceable. > > > > > > - Peter > > > > ---- snip ---- > > > > I found a race condition in sleepq_catch_signals / sleepq_resume_thread > > that may cause sleepq_resume_thread to add a thread to the run queue > > that is already there. > > Note that setrunnable() checks the thread state and doesn't call setrunqueue > if the thread is already on the runqueue (see the TDS_RUNQ case in the switch > statement). Is this what you are referring to? Yes - but I misread the TD_CLR_SLEEPING(td) macro and missed that it only makes the thread runable if the bit had been inhibited before. :-( Thanks Stephan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1097008876.50232.476.camel>