RFR: 8295724: VirtualMachineError: Out of space in CodeCache for method handle intrinsic [v12]

Vladimir Kozlov kvn at openjdk.org
Tue Dec 6 01:44:00 UTC 2022


On Thu, 24 Nov 2022 17:00:42 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> This proposal prevents the VM from terminating unexpectedly in some rare cases (see JBS issue). It allows using NonNMethod code space for method handle intrinsics which are needed urgently if the other code cache spaces are full. There are other options (see JBS issue), but this one appears to be the simplest one.
>
> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Add regression test.

New test failed on all platforms when run with '-ea -esa -XX:CompileThreshold=100 -XX:-TieredCompilation'


----------System.out:(11/726)----------
CompileCommand: compileonly null.* bool compileonly = true
[0.427s][warning][codecache] CodeHeap 'non-profiled nmethods' is full. Compiler has been disabled.
[0.427s][warning][codecache] Try increasing the code heap size using -XX:NonProfiledCodeHeapSize=
CodeHeap 'non-profiled nmethods': size=11236Kb used=11203Kb max_used=11203Kb free=33Kb
 bounds [0x00007ff0bd7f9000, 0x00007ff0be2f2000, 0x00007ff0be2f2000]
CodeHeap 'non-nmethods': size=5148Kb used=1630Kb max_used=1630Kb free=3517Kb
 bounds [0x00007ff0bd2f2000, 0x00007ff0bd562000, 0x00007ff0bd7f9000]
 total_blobs=932 nmethods=51 adapters=711
 compilation: disabled (not enough contiguous free space left)
              stopped_count=1, restarted_count=0
 full_count=1
----------System.err:(14/1222)----------
Java HotSpot(TM) 64-Bit Server VM warning: CodeHeap 'non-profiled nmethods' is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code heap size using -XX:NonProfiledCodeHeapSize=
java.lang.NullPointerException: Cannot invoke "java.lang.management.MemoryPoolMXBean.getUsage()" because "<local1>" is null
	at compiler.codecache.MHIntrinsicAllocFailureTest.fillCodeCacheSegment(MHIntrinsicAllocFailureTest.java:60)
	at compiler.codecache.MHIntrinsicAllocFailureTest.main(MHIntrinsicAllocFailureTest.java:70)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:578)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:125)
	at java.base/java.lang.Thread.run(Thread.java:1599)

-------------

PR: https://git.openjdk.org/jdk/pull/10933


More information about the hotspot-compiler-dev mailing list