I can intermittently (maybe 3% of the time) get a crash in the G1GC collector using OpenJDK-22.0.2+9 (from here: https://jdk.java.net/22/) to run the DaCapo 23.11-chopin "spring" benchmark (from here: https://github.com/dacapobench/dacapobench/releases).
I am running on an Ampere Computing Altra (aarch64). I have not tried other platforms.
The command line is minimal:
$ ${JAVA_HOME}/bin/java -jar ${DACAPO_HOME}/dacapo-23.11-chopin.jar --iterations 5 --size default spring
The crashes thread stacks look like:
Current thread (0x00004000d40146c0): WorkerThread "GC Thread#50" [id=3890367, stack(0x0000400498850000,0x0000400498a50000) (2048K)]
Stack: [0x0000400498850000,0x0000400498a50000], sp=0x0000400498a4da70, free space=2038k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0xae8918] markWord::displaced_mark_helper() const+0x18
V [libjvm.so+0x735060] G1ParCopyClosure<(G1Barrier)0, false>::do_oop(oopDesc**)+0x180
V [libjvm.so+0xb80b98] InterpreterOopMap::iterate_oop(OffsetClosure*) const+0x114
V [libjvm.so+0x6a9e1c] frame::oops_interpreted_do(OopClosure*, RegisterMap const*, bool) const+0x16c
V [libjvm.so+0x8187f0] JavaThread::oops_do_frames(OopClosure*, CodeBlobClosure*) [clone .part.0]+0xd0
V [libjvm.so+0xd0aa3c] Thread::oops_do(OopClosure*, CodeBlobClosure*)+0xbc
V [libjvm.so+0xd16a70] Threads::possibly_parallel_oops_do(bool, OopClosure*, CodeBlobClosure*)+0x10c
V [libjvm.so+0x737980] G1RootProcessor::process_java_roots(G1RootClosures*, G1GCPhaseTimes*, unsigned int)+0x80
V [libjvm.so+0x737a84] G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned int)+0x64
V [libjvm.so+0x749c04] G1EvacuateRegionsTask::scan_roots(G1ParScanThreadState*, unsigned int)+0x24
...
where the last frame is always at markWord::displaced_mark_helper() const+0x18
I have attached a sample hs_err_pid*.log file. I have more of them if you want them. I have also attached a file with the tops of the threads stacks from my 5 most recent hs_err_pid*.log files.