JDK-8285509 : loom: vmTestbase/gc/gctests/SoftReference/soft001/soft001.java fails with "Exception in thread "Reference Handler" java.lang.OutOfMemoryError: Java heap space"
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: repo-loom
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows
  • CPU: x86_64
  • Submitted: 2022-04-23
  • Updated: 2022-04-23
  • Resolved: 2022-04-23
Related Reports
Duplicate :  
Relates :  
Description
The following test failed in the loom-jep-vt CI:

vmTestbase/gc/gctests/SoftReference/soft001/soft001.java

Here's a snippet from the log file:

#section:main
----------messages:(6/284)----------
command: main gc.gctests.SoftReference.soft001.soft001 -ms low
reason: User specified action: run main/othervm gc.gctests.SoftReference.soft001.soft001 -ms low 
Mode: othervm [/othervm specified]
Timeout information:
--- Timeout information end.
elapsed time (seconds): 506.967
----------configuration:(0/0)----------
----------System.out:(60/2870)----------
Stress time: 120 seconds
Stress iterations factor: 1
Stress threads factor: 1
Stress runs factor: 1
Max memory: 2147483648
Sleep time: 500
Iterations: 0
Number of threads: 24
Run GC thread: false
Run mem diag thread: false
Run forever: false
Starting Thread[#35,gc.gctests.SoftReference.soft001.soft001$Test@3ef1613c,5,MainThreadGroup]
Starting Thread[#36,gc.gctests.SoftReference.soft001.soft001$Test@2ca0c57a,5,MainThreadGroup]
Starting Thread[#37,gc.gctests.SoftReference.soft001.soft001$Test@7b744e91,5,MainThreadGroup]
Starting Thread[#38,gc.gctests.SoftReference.soft001.soft001$Test@4e392842,5,MainThreadGroup]
Starting Thread[#39,gc.gctests.SoftReference.soft001.soft001$Test@29cf333b,5,MainThreadGroup]
Starting Thread[#40,gc.gctests.SoftReference.soft001.soft001$Test@3eea86d,5,MainThreadGroup]
Starting Thread[#41,gc.gctests.SoftReference.soft001.soft001$Test@5ab77e47,5,MainThreadGroup]
Starting Thread[#42,gc.gctests.SoftReference.soft001.soft001$Test@5d4b266b,5,MainThreadGroup]
Starting Thread[#43,gc.gctests.SoftReference.soft001.soft001$Test@d4d9012,5,MainThreadGroup]
Starting Thread[#44,gc.gctests.SoftReference.soft001.soft001$Test@7b16fc16,5,MainThreadGroup]
Starting Thread[#45,gc.gctests.SoftReference.soft001.soft001$Test@1a32e075,5,MainThreadGroup]
Starting Thread[#46,gc.gctests.SoftReference.soft001.soft001$Test@1e4ef526,5,MainThreadGroup]
Starting Thread[#47,gc.gctests.SoftReference.soft001.soft001$Test@7fe22bfd,5,MainThreadGroup]
Starting Thread[#48,gc.gctests.SoftReference.soft001.soft001$Test@33588e5b,5,MainThreadGroup]
Starting Thread[#49,gc.gctests.SoftReference.soft001.soft001$Test@3e64e10d,5,MainThreadGroup]
Starting Thread[#50,gc.gctests.SoftReference.soft001.soft001$Test@576ad422,5,MainThreadGroup]
Starting Thread[#51,gc.gctests.SoftReference.soft001.soft001$Test@3939a0f1,5,MainThreadGroup]
Starting Thread[#52,gc.gctests.SoftReference.soft001.soft001$Test@4e64cbdb,5,MainThreadGroup]
Starting Thread[#53,gc.gctests.SoftReference.soft001.soft001$Test@57913793,5,MainThreadGroup]
Starting Thread[#54,gc.gctests.SoftReference.soft001.soft001$Test@565b3287,5,MainThreadGroup]
Starting Thread[#55,gc.gctests.SoftReference.soft001.soft001$Test@22112e95,5,MainThreadGroup]
Starting Thread[#56,gc.gctests.SoftReference.soft001.soft001$Test@4ac3031f,5,MainThreadGroup]
Starting Thread[#57,gc.gctests.SoftReference.soft001.soft001$Test@1430987b,5,MainThreadGroup]
Starting Thread[#58,gc.gctests.SoftReference.soft001.soft001$Test@1b705f70,5,MainThreadGroup]
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
iteration 0
Timeout refired 480 times
----------System.err:(1/85)----------
Exception in thread "Reference Handler" java.lang.OutOfMemoryError: Java heap space
----------rerun:(40/6554)*----------

<snip>

result: Error. Program `c:\ade\mesos\work_dir\jib-master\install\jdk-19-loomvt+1-32\windows-x64-debug.jdk\jdk-19\fastdebug\bin\java' timed out (timeout set to 480000ms, elapsed time including timeout handling was 506967ms).


There is also another unresolved timeout failure for this test:

JDK-8277379 vmTestbase/gc/gctests/SoftReference/soft00X time out with serial gc

However, this sightings failure modes are different (other than the timeout
at the end).
Comments
Exception in thread "Reference Handler" java.lang.OutOfMemoryError: Java heap space One of the changes in the loom repo is that that ReferenceQueues use a j.u.concurrent lock rather than monitors. I can't tell from the output where the OOME is thrown but it is possible that it's when the Reference Handler enqueues a reference. That may create a node in the wait queue so there is a potential OOME there at least.
23-04-2022