Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8339349

Crash in the GC running the DaCapo spring benchmark

XMLWordPrintable

    • b15
    • 22

      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.

        1. replay_pid3400217.log
          1.34 MB
        2. replay_pid1979173.log
          1.32 MB
        3. jars.zip
          45.15 MB
        4. hs_err_pid537557.log
          224 kB
        5. hs_err_pid440290.log
          227 kB
        6. hs_err_pid1979173.log
          132 kB
        7. hs_err_pid1328678.log
          175 kB
        8. hs_err_pid1176629.log
          175 kB
        9. hs_err_pid_threadStacks.text
          6 kB
        10. 20240830-125621__spring_x5_simple__hs_err_pid3889398.log
          223 kB

            thartmann Tobias Hartmann
            pbk Peter Kessler
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: