Code Review 6988618: JCK test setDaemon0101 hangs on specific machine

Alan Bateman Alan.Bateman at oracle.com
Thu Nov 4 12:13:23 UTC 2010


Chris Hegarty wrote:
> David, Alan,
>
> There is a race, if the thread being created completes before the 
> starting thread has a chance to complete its start method ( and 
> decrement the groups nUnstartedThreads count ), then when the newly 
> started threads exit method notifies the group that it is terminating 
> the group will not be destroyed because it believes it still as an 
> unstarted thread in it.
>
> Basically we decrement the unstarted thread count in threadStarting.
> Since the thread is added to the group the reason for the unstarted
> thread count is no longer applicable, i.e. the thread is a real member
> of the group. We rectify the unstarted thread count if start fails,
> allowing a subsequent attempt to start the thread (this is consistent
> with current behavior).
>
> Webrev:
> http://cr.openjdk.java.net/~chegar/6988618/webrev.00/webrev/
>
> Thanks,
> -Chris.
Looks good to me. Do you think it would be feasible to include a 
regression test or would it be too problematic?

-Alan



More information about the core-libs-dev mailing list