-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
P4
-
Affects Version/s: 26
-
Component/s: hotspot
The test TestCodeCacheUnloadDuringConcCycle failed for us sometimes too on aarch64 ( Apple M2 Ultra, macOS) .
output is like this :
[2025-12-10T09:13:56.999224Z] Gathering output for process 10851
[2025-12-10T09:13:57.163117Z] Waiting for completion for process 10851
[2025-12-10T09:14:02.346596Z] Waiting for completion finished for process 10851
Output and diagnostic info for process 10851 was saved into 'pid-10851-output.log'
[0.017s][info][gc] Using G1
[0.017s][debug][gc] ConcGCThreads: 5 offset 18
[0.017s][debug][gc] ParallelGCThreads: 18
[0.018s][trace][gc] MarkStackSize: 4096k MarkStackSizeMax: 524288k
[0.018s][debug][gc] Initialize mark stack with 4096 chunks, maximum 536870912
CompileCommand: compileonly gc/g1/SomeClass.* bool compileonly = true
[0.116s][info ][codecache] Triggering threshold (12.725%) GC due to allocating 15.167% since last unloading (0.000% used -> 15.167% used)
[0.116s][trace][gc ] main: Try Collect Concurrently (CodeCache GC Threshold): attempt 1
[0.118s][debug][gc ] GC(0) Allocated 1 survivor 0 old percent total 11.11% (10%)
[0.118s][info ][gc ] GC(0) Pause Young (Concurrent Start) (CodeCache GC Threshold) 1M->1M(10M) 2.243ms
[0.118s][info ][gc ] GC(1) Concurrent Mark Cycle
[0.120s][trace][gc ] main: Try Collect Concurrently (CodeCache GC Threshold): complete true
[0.130s][info ][codecache] Unknown code cache pressure; don't age code
[0.130s][info ][gc ] GC(1) Pause Remark 1M->1M(10M) 6.262ms
[0.135s][info ][gc ] GC(1) Pause Cleanup 1M->1M(10M) 0.082ms
[0.135s][info ][gc ] GC(1) Concurrent Mark Cycle 16.867ms
Running to breakpoint: BEFORE MARKING COMPLETED
[0.153s][trace][gc ] main: Try Collect Concurrently (WhiteBox Initiated Run to Breakpoint): attempt 1
[0.157s][debug][gc ] GC(2) Allocated 1 survivor 0 old percent total 11.11% (10%)
[0.157s][info ][gc ] GC(2) Pause Young (Concurrent Start) (WhiteBox Initiated Run to Breakpoint) 2M->1M(10M) 4.300ms
[0.157s][info ][gc ] GC(3) Concurrent Mark Cycle
[0.157s][trace][gc ] main: Try Collect Concurrently (WhiteBox Initiated Run to Breakpoint): complete true
Try to trigger code cache GC
Compiled 0 classes
Compiled 20 classes
Compiled 40 classes
Compiled 60 classes
Compiled 80 classes
Compiled 100 classes
Compiled 120 classes
[1.875s][info ][codecache] Triggering threshold (10.369%) GC due to allocating 15.434% since last unloading (15.442% used -> 30.876% used)
[1.876s][trace][gc ] C1 CompilerThread0: Try Collect Concurrently (CodeCache GC Threshold): attempt 1
[1.876s][trace][gc ] C1 CompilerThread0: Try Collect Concurrently (CodeCache GC Threshold): complete true
[1.901s][debug][gc ] GC(4) Allocated 1 survivor 0 old percent total 11.11% (10%)
[1.901s][info ][gc ] GC(4) Pause Young (Normal) (G1 Evacuation Pause) 4M->1M(10M) 7.103ms
Compiled 140 classes
Compiled 160 classes
Compiled 180 classes
Compilation done, compiled 200 classes
[2.514s][info ][codecache] Allocation rate: 702.607 KB/s, time to aggressive unloading: 1.645 s, cold timeout: 0.411 s, cold gc count: 2, used: 2.871 MB (35.891%), last used: 1.235 MB (15.442%), gc interval: 2.384 s
[2.514s][info ][gc ] GC(3) Pause Remark 3M->3M(10M) 4.830ms
[2.520s][info ][gc ] GC(3) Pause Cleanup 3M->3M(10M) 0.072ms
[2.527s][info ][gc ] GC(3) Concurrent Mark Cycle 2369.881ms
Marker for this test
Compiled 0 classes
Compiled 20 classes
Compiled 40 classes
Compiled 60 classes
[4.116s][debug][gc ] GC(5) Allocated 1 survivor 1 old percent total 25.00% (10%)
[4.116s][info ][gc ] GC(5) Pause Young (Prepare Mixed) (G1 Evacuation Pause) 4M->2M(10M) 8.615ms
Compiled 80 classes
Compiled 100 classes
Compiled 120 classes
Compiled 140 classes
Compiled 160 classes
Compiled 180 classes
Compilation done, compiled 200 classes
----------System.err:(15/1223)----------
java.lang.RuntimeException: Could not find a CodeCache GC Threshold GC after finishing the concurrent cycle: expected true, was false
at jdk.test.lib.Asserts.fail(Asserts.java:715)
at jdk.test.lib.Asserts.assertTrue(Asserts.java:545)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.runAndCheckTest(TestCodeCacheUnloadDuringConcCycle.java:94)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.allTests(TestCodeCacheUnloadDuringConcCycle.java:98)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.main(TestCodeCacheUnloadDuringConcCycle.java:104)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1516)
output is like this :
[2025-12-10T09:13:56.999224Z] Gathering output for process 10851
[2025-12-10T09:13:57.163117Z] Waiting for completion for process 10851
[2025-12-10T09:14:02.346596Z] Waiting for completion finished for process 10851
Output and diagnostic info for process 10851 was saved into 'pid-10851-output.log'
[0.017s][info][gc] Using G1
[0.017s][debug][gc] ConcGCThreads: 5 offset 18
[0.017s][debug][gc] ParallelGCThreads: 18
[0.018s][trace][gc] MarkStackSize: 4096k MarkStackSizeMax: 524288k
[0.018s][debug][gc] Initialize mark stack with 4096 chunks, maximum 536870912
CompileCommand: compileonly gc/g1/SomeClass.* bool compileonly = true
[0.116s][info ][codecache] Triggering threshold (12.725%) GC due to allocating 15.167% since last unloading (0.000% used -> 15.167% used)
[0.116s][trace][gc ] main: Try Collect Concurrently (CodeCache GC Threshold): attempt 1
[0.118s][debug][gc ] GC(0) Allocated 1 survivor 0 old percent total 11.11% (10%)
[0.118s][info ][gc ] GC(0) Pause Young (Concurrent Start) (CodeCache GC Threshold) 1M->1M(10M) 2.243ms
[0.118s][info ][gc ] GC(1) Concurrent Mark Cycle
[0.120s][trace][gc ] main: Try Collect Concurrently (CodeCache GC Threshold): complete true
[0.130s][info ][codecache] Unknown code cache pressure; don't age code
[0.130s][info ][gc ] GC(1) Pause Remark 1M->1M(10M) 6.262ms
[0.135s][info ][gc ] GC(1) Pause Cleanup 1M->1M(10M) 0.082ms
[0.135s][info ][gc ] GC(1) Concurrent Mark Cycle 16.867ms
Running to breakpoint: BEFORE MARKING COMPLETED
[0.153s][trace][gc ] main: Try Collect Concurrently (WhiteBox Initiated Run to Breakpoint): attempt 1
[0.157s][debug][gc ] GC(2) Allocated 1 survivor 0 old percent total 11.11% (10%)
[0.157s][info ][gc ] GC(2) Pause Young (Concurrent Start) (WhiteBox Initiated Run to Breakpoint) 2M->1M(10M) 4.300ms
[0.157s][info ][gc ] GC(3) Concurrent Mark Cycle
[0.157s][trace][gc ] main: Try Collect Concurrently (WhiteBox Initiated Run to Breakpoint): complete true
Try to trigger code cache GC
Compiled 0 classes
Compiled 20 classes
Compiled 40 classes
Compiled 60 classes
Compiled 80 classes
Compiled 100 classes
Compiled 120 classes
[1.875s][info ][codecache] Triggering threshold (10.369%) GC due to allocating 15.434% since last unloading (15.442% used -> 30.876% used)
[1.876s][trace][gc ] C1 CompilerThread0: Try Collect Concurrently (CodeCache GC Threshold): attempt 1
[1.876s][trace][gc ] C1 CompilerThread0: Try Collect Concurrently (CodeCache GC Threshold): complete true
[1.901s][debug][gc ] GC(4) Allocated 1 survivor 0 old percent total 11.11% (10%)
[1.901s][info ][gc ] GC(4) Pause Young (Normal) (G1 Evacuation Pause) 4M->1M(10M) 7.103ms
Compiled 140 classes
Compiled 160 classes
Compiled 180 classes
Compilation done, compiled 200 classes
[2.514s][info ][codecache] Allocation rate: 702.607 KB/s, time to aggressive unloading: 1.645 s, cold timeout: 0.411 s, cold gc count: 2, used: 2.871 MB (35.891%), last used: 1.235 MB (15.442%), gc interval: 2.384 s
[2.514s][info ][gc ] GC(3) Pause Remark 3M->3M(10M) 4.830ms
[2.520s][info ][gc ] GC(3) Pause Cleanup 3M->3M(10M) 0.072ms
[2.527s][info ][gc ] GC(3) Concurrent Mark Cycle 2369.881ms
Marker for this test
Compiled 0 classes
Compiled 20 classes
Compiled 40 classes
Compiled 60 classes
[4.116s][debug][gc ] GC(5) Allocated 1 survivor 1 old percent total 25.00% (10%)
[4.116s][info ][gc ] GC(5) Pause Young (Prepare Mixed) (G1 Evacuation Pause) 4M->2M(10M) 8.615ms
Compiled 80 classes
Compiled 100 classes
Compiled 120 classes
Compiled 140 classes
Compiled 160 classes
Compiled 180 classes
Compilation done, compiled 200 classes
----------System.err:(15/1223)----------
java.lang.RuntimeException: Could not find a CodeCache GC Threshold GC after finishing the concurrent cycle: expected true, was false
at jdk.test.lib.Asserts.fail(Asserts.java:715)
at jdk.test.lib.Asserts.assertTrue(Asserts.java:545)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.runAndCheckTest(TestCodeCacheUnloadDuringConcCycle.java:94)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.allTests(TestCodeCacheUnloadDuringConcCycle.java:98)
at gc.g1.TestCodeCacheUnloadDuringConcCycle.main(TestCodeCacheUnloadDuringConcCycle.java:104)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
at java.base/java.lang.Thread.run(Thread.java:1516)
- relates to
-
JDK-8372860 TestCodeCacheUnloadDuringConcCycle fails on ARM32
-
- Resolved
-
-
JDK-8350621 Code cache stops scheduling GC
-
- Closed
-
- links to
-
Review(master)
openjdk/jdk/28822