testcase failure
Alan Bateman
Alan.Bateman at oracle.com
Tue Oct 4 13:24:11 UTC 2011
Chris Hegarty wrote:
> Trivially, should the main thread in the test be waiting on the three
> other threads to complete before exiting?
>
> I think jtreg will try to cleanup once the main thread completes. The
> main thread should keep an array of the threads it creates and invoke
> join() on each of them before returning from main. We do this all the
> time in other areas.
Right, once the main thread completes then jtreg will attempt to cleanup
the remaining non-daemon threads in the thread group. It does this by
interrupting each of the remaining threads in a loop up to a maximum
number of rounds or until the remaining threads have terminated. It's
possible that if the test is changed up to join on each of the 3 threads
that this intermittent failure will go away. If so, then it suggests to
me that perhaps the interrupt is causing a side effect that causes one
of the threads to go into a loop block uninterruptedly. This is just a
guess of course and it requires digging into the Locale code to come up
with specific theories.
-Alan.
More information about the core-libs-dev
mailing list