On Fri, 31 May 2024 18:22:47 GMT, Leonid Mesnik <lmes...@openjdk.org> wrote:
> The fix removes finalization cleanup from vmTestbase. > The last to classes that use it are: DebugeeBinder and SocketIOPipe. > The DebugeeBinder is used in jdi and jdwp tests and is always linked with > debuggee process. So the DebugeeProcess.waitFor() is the good place to close > binder and free all it's resources. > The SocketIOPipe is used directly in AOD tests where it should be closed > after test execution. > > The OPipe (child of SocketIOPipe) also used in jdi and jdwp tests where it is > connected directly in tests. However is also connected with debuggee and > could be closed in DebugeeProcess.waitFor(). > > The VMOutOfMemoryException001 test is fixed to release some memory after > throwing OOME so Sytem.exit() could complete successfully. Previously some > memory freed during VM shutdown hook. > > I verified that cleanup printed that corresponding 'close' method has been > already called before VM shutdown phase for debugger process. > Additionally, run all vmTestbase tests to verify there are no failures, test/hotspot/jtreg/vmTestbase/nsk/share/aod/DummyTargetApplication.java line 68: > 66: if ((signal == null) || > !signal.equals(AODTestRunner.SIGNAL_FINISH)) > 67: throw new TestBug("Unexpected signal: '" + signal + "'"); > 68: pipe.close(); Exceptions can be thrown before you get here. test/hotspot/jtreg/vmTestbase/nsk/share/jpda/DebugeeProcess.java line 215: > 213: if (binder != null) { > 214: binder.close(); > 215: } Won't this be skipped if there is an exception during `waitForDebugee` or `waitForRedirectors`? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/19505#discussion_r1622898244 PR Review Comment: https://git.openjdk.org/jdk/pull/19505#discussion_r1622896237