Hi Daniel, First of all, the change looks good to me. The broken
if (destroyed) { return n; } part looks like a "copy and paste" from some other method in the ThreadGroup class. They use recursion a lot. Might it be the case that not only the returned value is wrong, but also the populated list is corrupted? After all the returned value is used as an index for the next insertion. -Pavel > On 12 Mar 2019, at 15:59, Daniel Fuchs <daniel.fu...@oracle.com> wrote: > > Hi, > > Please find below a simple fix for > 8219197: ThreadGroup.enumerate() may return wrong value > > http://cr.openjdk.java.net/~dfuchs/webrev_8219197/webrev.00/ > > This is a bug in the implementation of the recursion, > as enumerate(list, n, recurse) should never have returned > a value < n. > > The test passes with the fix and fails 'often enough' without > it (~ 1 times out of 2 or 3). > > best regards, > > -- daniel