JDK-8271253 : vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java fails with "NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 17
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows
  • CPU: x86_64
  • Submitted: 2021-07-25
  • Updated: 2021-07-25
  • Resolved: 2021-07-25
Related Reports
Duplicate :  
Description
The following test failed in the JDK17 CI:

vmTestbase/gc/lock/jniref/jniweakglobalreflock02/TestDescription.java

Here's a snippet from the log file:

#section:main
----------messages:(4/337)----------
command: main -XX:-UseGCOverheadLimit gc.lock.LockerTest -gp1 random(primitiveArrays) -lockers jniWeakGlobalRef
reason: User specified action: run main/othervm/native -XX:-UseGCOverheadLimit gc.lock.LockerTest -gp1 random(primitiveArrays) -lockers jniWeakGlobalRef 
Mode: othervm [/othervm specified]
elapsed time (seconds): 733.227
----------configuration:(0/0)----------
----------System.out:(74/4917)----------
Stress time: 120 seconds
Stress iterations factor: 1
Stress threads factor: 1
Stress runs factor: 1
Max memory: 2136997888
Sleep time: 500
Iterations: 0
Number of threads: 24
Run GC thread: false
Run mem diag thread: false
Run forever: false
For random generator using seed: -2946566541142752048
To re-run test with same seed value please add "-Djdk.test.lib.random.seed=-2946566541142752048" to command line.
Starting Thread[gc.lock.LockerTest$Worker@23582718,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@1821fb7d,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@7a237f86,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@2a270aa8,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@2181b6f0,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@366c5bae,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@57d2cdaa,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@4532ffb2,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@6928e7d2,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@3dcd6072,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@7cb355fc,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@2e2efab7,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@969ed7,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@568eb047,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@307413df,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@69d6bc24,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@5d82e7ef,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@7ead7890,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@6e576671,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@323cd003,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@784be434,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@6db77a55,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@3886ed7c,5,MainThreadGroup]
Starting Thread[gc.lock.LockerTest$Worker@6c6e8ea7,5,MainThreadGroup]
Exception in 
gc.lock.LockerTest$Worker@1821fb7d
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:224)
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:144)
	at gc.lock.LockerTest$Worker.run(LockerTest.java:54)
	at nsk.share.runner.ThreadsRunner$ManagedThread.run(ThreadsRunner.java:106)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom
	at java.base/java.util.concurrent.ConcurrentHashMap.fullAddCount(ConcurrentHashMap.java:2584)
	at java.base/java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2334)
	at java.base/java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1173)
	at java.base/java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1102)
	at java.base/java.lang.invoke.MethodType$ConcurrentWeakInternSet.expungeStaleElements(MethodType.java:1407)
	at java.base/java.lang.invoke.MethodType$ConcurrentWeakInternSet.get(MethodType.java:1366)
	at java.base/java.lang.invoke.MethodType.makeImpl(MethodType.java:341)
	at java.base/java.lang.invoke.MethodType.methodType(MethodType.java:281)
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:211)
	... 4 more
Failures summary:
java.lang.RuntimeException: java.lang.NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:224)
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:144)
	at gc.lock.LockerTest$Worker.run(LockerTest.java:54)
	at nsk.share.runner.ThreadsRunner$ManagedThread.run(ThreadsRunner.java:106)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class java.util.concurrent.ThreadLocalRandom
	at java.base/java.util.concurrent.ConcurrentHashMap.fullAddCount(ConcurrentHashMap.java:2584)
	at java.base/java.util.concurrent.ConcurrentHashMap.addCount(ConcurrentHashMap.java:2334)
	at java.base/java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1173)
	at java.base/java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1102)
	at java.base/java.lang.invoke.MethodType$ConcurrentWeakInternSet.expungeStaleElements(MethodType.java:1407)
	at java.base/java.lang.invoke.MethodType$ConcurrentWeakInternSet.get(MethodType.java:1366)
	at java.base/java.lang.invoke.MethodType.makeImpl(MethodType.java:341)
	at java.base/java.lang.invoke.MethodType.methodType(MethodType.java:281)
	at nsk.share.gc.gp.GarbageUtils.eatMemory(GarbageUtils.java:211)
	... 4 more
----------System.err:(16/954)----------
nsk.share.TestFailure: Test exit code: 97
	at nsk.share.test.Tests$TestRunner.execute(Tests.java:90)
	at nsk.share.test.Tests$TestRunner.run(Tests.java:96)
	at nsk.share.gc.GC.runTest(GC.java:114)
	at gc.lock.LockerTest.main(LockerTest.java:77)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:833)

JavaTest Message: Test threw exception: nsk.share.TestFailure: Test exit code: 97
JavaTest Message: shutting down test

STATUS:Failed.`main' threw exception: nsk.share.TestFailure: Test exit code: 97
----------rerun:(41/6481)*----------