On 17/11/2011 04:43, David Holmes wrote:

Given they are not run concurrently with other tests (modulo the testing framework [gtee/ute not jtreg] running multiple testsuites on the same machine) the only issue I can see that would impact samevm mode is if other test lefts threads behind. I'm not sure if this is possible with jtreg, but if it were then it is those other tests that need to be fixed.
When jtreg runs tests in samevm or agentvm mode then it creates a thread group for the test. When the test completes then it attempts "cleanup" that I think includes interrupting any remaining non-daemon threads in the group. I think there retry logic in there and eventually it gives up causing the test to fail (in error). There are other checks to help us catch tests that don't clean-up, the main one we used to be (until we fixed the tests) that they left files open.

As you mention threads then I should mention that I was looking recently into why the tests were taking a long time to run on some systems and found a couple of tests that leave daemon threads behind. Here's two where tests were leaving spinning threads behind:

http://bugs.sun.com/view_bug.do?bug_id=7094842
http://bugs.sun.com/view_bug.do?bug_id=7094995

Max fixed the first one promptly, I've been meaning to nab Neil about the second one.


As Alan indicated we want to reduce use of othervm where we can because often the overhead of launching a new VM far outweighs the execution time of a successful test.
Right although we have our share of tests that take several seconds (and more) to run.

I see Chris's mail points out that some tests do have an unusually small timeout. For those tests then I would be tempted to just remove the timeout. Most likely the original author of the test put a small timeout to make it quick to test on a JDK that didn't have the fix.

-Alan.

Reply via email to