In a shenandoah test with fastdebug, I noticed they were crashes caused by marking bitmap, and I produced the crash twice with TIP on GenShen repo https://github.com/openjdk/shenandoah
`
CONF=linux-x86_64-server-fastdebug make test TEST=gc/stress/gcold/TestGCOldWithShenandoah.java#generational JTREG="REPEAT_COUNT=1000"
`
`
[92.933s][info][gc ] Heuristics request to interrupt old for young collection accepted
[92.933s][info][gc,ergo ] GC(88) Start GC cycle (YOUNG)
[92.933s][info][gc,start ] GC(88) Concurrent reset (YOUNG)
[92.933s][info][gc,task ] GC(88) Using 4 of 8 workers for Concurrent reset (YOUNG)
[92.933s][info][gc,ergo ] GC(88) Pacer for Reset. Non-Taxable: 384M
[92.933s][info][gc ] GC(88) Concurrent reset (YOUNG) 0.419ms
[92.933s][info][gc,start ] GC(88) Pause Init Mark (YOUNG)
[92.933s][info][gc,task ] GC(88) Using 8 of 8 workers for init marking
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/xlpeng/repos/jdk-xlpeng/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp:622), pid=22173, tid=22198
# assert(_generation->is_bitmap_clear()) failed: need clear marking bitmap
#
# JRE version: OpenJDK Runtime Environment (24.0) (fastdebug build 24-internal-adhoc.xlpeng.jdk-xlpeng)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-internal-adhoc.xlpeng.jdk-xlpeng, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x172ac24] ShenandoahConcurrentGC::op_init_mark()+0x384
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /local/home/xlpeng/repos/jdk-xlpeng/build/linux-x86_64-server-fastdebug/test-support/jtreg_test_hotspot_jtreg_gc_stress_gcold_TestGCOldWithShenandoah_java_generational/scratch/0/hs_err_pid22173.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
`
`
CONF=linux-x86_64-server-fastdebug make test TEST=gc/stress/gcold/TestGCOldWithShenandoah.java#generational JTREG="REPEAT_COUNT=1000"
`
`
[92.933s][info][gc ] Heuristics request to interrupt old for young collection accepted
[92.933s][info][gc,ergo ] GC(88) Start GC cycle (YOUNG)
[92.933s][info][gc,start ] GC(88) Concurrent reset (YOUNG)
[92.933s][info][gc,task ] GC(88) Using 4 of 8 workers for Concurrent reset (YOUNG)
[92.933s][info][gc,ergo ] GC(88) Pacer for Reset. Non-Taxable: 384M
[92.933s][info][gc ] GC(88) Concurrent reset (YOUNG) 0.419ms
[92.933s][info][gc,start ] GC(88) Pause Init Mark (YOUNG)
[92.933s][info][gc,task ] GC(88) Using 8 of 8 workers for init marking
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/xlpeng/repos/jdk-xlpeng/src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.cpp:622), pid=22173, tid=22198
# assert(_generation->is_bitmap_clear()) failed: need clear marking bitmap
#
# JRE version: OpenJDK Runtime Environment (24.0) (fastdebug build 24-internal-adhoc.xlpeng.jdk-xlpeng)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 24-internal-adhoc.xlpeng.jdk-xlpeng, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x172ac24] ShenandoahConcurrentGC::op_init_mark()+0x384
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /local/home/xlpeng/repos/jdk-xlpeng/build/linux-x86_64-server-fastdebug/test-support/jtreg_test_hotspot_jtreg_gc_stress_gcold_TestGCOldWithShenandoah_java_generational/scratch/0/hs_err_pid22173.log
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
`
- relates to
-
JDK-8338737 Shenandoah: Reset marking bitmaps after the cycle
- New
- links to
-
Commit(master) openjdk/shenandoah-jdk21u/71c448f5
-
Commit(master) openjdk/shenandoah/55c6f678
-
Review(master) openjdk/shenandoah-jdk21u/143
-
Review(master) openjdk/shenandoah/523