Allocation after Universe::before_exit() in the VM shutdown sequence

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P2
    • 26
    • Affects Version/s: 7, 26
    • Component/s: hotspot
    • None
    • b24

      Currently, we call `Universe::before_exit()` before invoking `JvmtiExport::post_thread_end`. The `before_exit()` signals to the GCs that a shutdown has started. However, the subsequent call to `JvmtiExport::post_thread_end` may still execute code that requires memory allocation or may trigger GC activity. This limits how the GCs can react to the shutdown signal called in `before_exit()`.

      Investigate moving the `Universe::before_exit()` call after `JvmtiExport::post_thread_end()`. Reordering would ensure that any allocations or GC activity caused during `post_thread_end()` occur under normal GC conditions, and only after that point would the GCs be signaled that shutdown is in progress.

            Assignee:
            Leonid Mesnik
            Reporter:
            Ivan Walulya
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved: