On Fri, 20 Oct 2023 03:20:44 GMT, Leonid Mesnik <lmes...@openjdk.org> wrote:
> There are several failure with reason > "Cannot invoke "String.equals(Object)" because "<local1>" is null" > which really caused by reading the command from debugee via socket. > Like: > > String command = pipe.readln(); > > if (!command.equals(AbstractDebuggeeTest.COMMAND_READY)) { > setSuccess(false); > log.complain("TEST BUG: unknown debuggee's command: " + command); > > return false; > } > > The command is null when socket fails with EOFException which usually means > that debugee has been crashed/exited or killed by timeout handler. > > However, it is not clear from the error log. So > https://bugs.openjdk.org/browse/JDK-8310940 has different problems with the > same NPE symptom. > > The fix update error handling to improve logging. > > So output loos like: > > _open_test_hotspot_jtreg_vmTestbase_nsk_jdi_VirtualMachine_dispose_dispose002_TestDescription_java/tmp' > \ > -Dtest.compiler.opts= \ > -Dtest.java.opts= \ > -Dtest.jdk=/home/lmesnik/ws/jdk-vmTestbase/build/linux-x64/images/jdk > \ > > -Dcompile.jdk=/home/lmesnik/ws/jdk-vmTestbase/build/linux-x64/images/jdk \ > -Dtest.timeout.factor=4.0 \ > > -Dtest.nativepath=/home/lmesnik/ws/jdk-vmTestbase/build/linux-x64/images/test/hotspot/jtreg/native > \ > -Dtest.root=/home/lmesnik/ws/jdk-vmTestbase/open/test/hotspot/jtreg \ > > -Dtest.name=vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002/TestDescription.java > \ > > -Dtest.file=/home/lmesnik/ws/jdk-vmTestbase/open/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002/TestDescription.java > \ > > -Dtest.src=/home/lmesnik/ws/jdk-vmTestbase/open/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002 > \ > > -Dtest.src.path=/home/lmesnik/ws/jdk-vmTestbase/open/test/hotspot/jtreg/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002:/home/lmesnik/ws/jdk-vmTestbase/open/test/hotspot/jtreg/vmTestbase:/home/lmesnik/ws/jdk-vmTestbase/open/test/lib > \ > > -Dtest.classes=/home/lmesnik/ws/jdk-vmTestbase/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi_VirtualMachine_dispose_dispose002_TestDescription_java/classes/0/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002/TestDescription.d > \ > > -Dtest.class.path=/home/lmesnik/ws/jdk-vmTestbase/build/linux-x64/test-support/jtreg_open_test_hotspot_jtreg_vmTestbase_nsk_jdi_VirtualMachine_dispose_dispose002_TestDescription_java/classes/0/vmTestbase/nsk/jdi/VirtualMachine/dispose/dispose002/Te... It looks reasonable. Thanks, Serguei test/hotspot/jtreg/vmTestbase/nsk/share/jpda/SocketConnection.java line 522: > 520: e.printStackTrace(logger.getOutStream()); > 521: throw new Failure("Caught EOFException while reading an > object from " + name + " connection." > 522: + " Check if debugee process is exited (crashed, > killed) before responded.\n\t"); Nit: It feels like this line of error message can be improved but I do not have a suggestion at the moment. ------------- Marked as reviewed by sspitsyn (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/16280#pullrequestreview-1689178726 PR Review Comment: https://git.openjdk.org/jdk/pull/16280#discussion_r1366437136