RFR: 8307824: Clean up Finalizable.java and finalize terminology in vmTestbase/nsk/share

Chris Plummer cjplummer at openjdk.org
Fri May 31 20:02:09 UTC 2024


On Fri, 31 May 2024 18:22:47 GMT, Leonid Mesnik <lmesnik at 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


More information about the serviceability-dev mailing list