Subject: Re: yet another SA assertion failure with 3.0
To: YAMAMOTO Takashi <email@example.com>
From: Chuck Silvers <firstname.lastname@example.org>
Date: 11/09/2005 08:43:08
On Wed, Nov 09, 2005 at 07:33:06AM +0900, YAMAMOTO Takashi wrote:
> > > i don't think that you really need "allsusp" handing in that case.
> > hmm, I think you're right. some LWP should wake up soon enough.
> > this new patch seems to work, how does it look to you?
> > -Chuck
> i think that "allsusp" can happen even for P_SA processes by
> eg. artificial _lwp_suspend and _lwp_exit.
> (well, _lwp_* syscalls are dangerous. :-)
> so it needs explicit LSSUSPENDED checks like the non-SA case does.
> otherwise looks ok to me.
the SA code will put LWPs into LSSUSPENDED state also,
and I can't tell if those making those LWPs runnable
unexpectedly would cause other problems.
a simpler way to avoid this problem would be to disallow
_lwp_suspend() and _lwp_continue() for SA processes.
there doesn't seem to be any value in allowing an application
to fight with the SA subsystem for control of LWPs.
> btw, "ok to signal vp lwp" case seems missing break.
hmm, you're right. and that would have prevented the crash
in the one dump that I examined, since there were a couple
threads in that state.