This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Make TestBreakpoints deterministic


Hi Andrew,

On Mon, 2006-08-21 at 13:05 -0400, Andrew Cagney wrote:
> Does this actually stop the problem?  For instance, if I were to be 
> running two instances of the frysk simultaneously (or any other 
> operation that would leave around defunct processes), wouldn't that lead 
> to similar consequences?

I don't think so because in those cases the kernel doesn't think we are
still attached and interesting in terminated events in that case.

> And under exactly what circumstance are you seeing terminated events?  
> Having a wait call in tearDown, or waiting on observableProcRemovedXXX, 
> does not give me warm fuzzies :-(  The latter implies that the event 
> loop is running - it may have crashed.

It is when the eventloop is restarted "too soon". Another fix (well
workaround) is to add a small Thread.sleep() to the teardown after
TestLib has killed the spawned processes, but that is not as reliable.

If we startup the eventloop again "too soon" what happens is that we see
the proc/task again when we do a Manager.host.requestRefreshXXX(). This
adds the proc as detached to the core. But the kernel still has a
terminate event pending for us from when we were actually attached to it
(which seems to be the reason the proc is still around). So we must
really make sure that we have received all events from the kernel,
including the terminated event, even after we have detached already.

Cheers,

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]