On Tue, 11 Nov 2025 10:03:23 GMT, Albert Mingkun Yang <[email protected]> wrote:
>> Please review following fix that move GC shutdown start after VM Death and >> agent's unloading. >> >> The `Universe::before_exit();` switch GC to fail any new GC allocation. So >> any allocation in vm death is failing. >> >> The test is a little bit complicated because jtreg uses wrapper even to >> execute othrevm tests and also results might be confusing if test is failing >> after main() method is completed. So the better is to run new process for vm >> death event handling. > >> move GC shutdown start after VM Death and agent's unloading > > Is there a reason why `Universe::before_exit()` is moved down, instead of > moving jvmti related calls (before `Universe::before_exit()`)? > > (The current patch would leave GC running while calling > `MemMapPrinter::print_all_mappings(tty);` -- GC can potentially alter > mappings.) @albertnetymk, @stefank > > move GC shutdown start after VM Death and agent's unloading > > Is there a reason why `Universe::before_exit()` is moved down, instead of > moving jvmti related calls (before `Universe::before_exit()`)? I updated to move jvmti code. Seems that following opertaions WatcherThread::stop(); NativeHeapTrimmer::cleanup(); might be done before sending jvmti vm_death. ------------- PR Comment: https://git.openjdk.org/jdk/pull/28227#issuecomment-3518247296
