Hi Roger,

I don't think resolving the ConcurrentHashMap.class ensures initialization of the class. Just loading. But I think CHM is already initialized at that time as it is used in ClassLoader to maintain class loading locks (per class name).


Regards, Peter


On 7/22/20 4:51 PM, Roger Riggs wrote:
Please review a change to the Process reaper thread initialization to preemptively make sure classes ThreadLocalRandom and ConcurrentHashMap are initialized. From the stack overflow failures, it seems that the classes have not been initialized
before they are used during processing the termination of a process.
When the initialization is performed on the smaller reaper stack, it occasionally
exceeds the available stack.

As an aid to diagnostics, -XX:AbortVMOnException=java.lang.StackOverflowError is added to TestHumongousNonArrayAllocation that has failed intermittently. If the problem happens again it will produce an hs_error file with useful details
and will otherwise not change the test behavior.

Webrev:
http://cr.openjdk.java.net/~rriggs/webrev-stackoverflow-8249217/

Issue:
  https://bugs.openjdk.java.net/browse/JDK-8249217

Thanks, Roger

Reply via email to