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

Assertion when triggering concurrent cycle during shutdown

    Details

    • Subcomponent:
      gc
    • Resolved In Build:
      b31

      Backports

        Description

        If using jcmd to trigger concurrent cycles (VM is started with -XX:+ExplicitGCInvokesConcurrent) we will hit this assertion if the request is done after the concurrent mark thread is shutdown:
        # Internal Error (open/src/hotspot/share/gc/g1/g1CollectedHeap.cpp:2207), pid=25508, tid=25636
        # assert(!op.gc_succeeded() || (old_marking_started_before != old_marking_started_after)) failed: invariant: succeeded true, started before 41, started after 41

        The reason is that we in do_collection_pause_at_safepoint() realize we are about to shutdown and don't trigger a concurrent cycle, which leads to the counter not being incremented.

        VM_G1TryInitiateConcMark should be updated to handle this case.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  kbarrett Kim Barrett
                  Reporter:
                  sjohanss Stefan Johansson
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: