RFR: 8318573: The nsk.share.jpda.SocketConnection should fail if socket was closed. [v2]

Leonid Mesnik lmesnik at openjdk.org
Fri Oct 20 16:30:45 UTC 2023


On Fri, 20 Oct 2023 16:20:52 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> The line with results contains it: TEST RESULT: Failed. Execution failed: `main' threw exception: nsk.share.Failure: Caught EOFException while reading an object from PipeIO Listener Thread connection. Check if debugee process is exited (crashed, killed) before responded.
>
> That's the exception message. I was referring to the exception stack trace. Where does it appear in the output?

ough. I just haven't copied all output. The stacktrace is like:
--> debugger: ......forcing the main thread to leave synchronized block
--> debugger:       Waiting for thread2 is not alive
debugee.stderr> **> mainThread: mainThread is out of: synchronized (lockingObject)
debugee.stderr> **> thread2: entered into block:  synchronized (lockingObject)
debugee.stderr> **> thread2: exited from block:  synchronized (lockingObject)
debugee.stderr> **> thread2: call to the method 'runt1'
debugee.stderr> **> thread2: method 'runt1': enter
debugee.stderr> **> thread2: method 'runt1': body: i0 == 1
debugee.stderr> **> thread2: method 'runt1': exit
--> debugger: ......sending to the debuggee: 'check_alive'
--> debugger:        expected reply: 'not_alive'
java.io.EOFException
        at java.base/java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:3217)
        at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1698)
        at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:525)
        at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:483)
        at nsk.share.jpda.SocketConnection.doReadObject(SocketConnection.java:583)
        at nsk.share.jpda.SocketConnection.readObject(SocketConnection.java:518)
        at nsk.share.jpda.SocketIOPipe.readln(SocketIOPipe.java:193)
        at nsk.jdi.VirtualMachine.dispose.dispose002.lambda$runThis$0(dispose002.java:283)
        at jdk.test.lib.Utils.waitForCondition(Utils.java:606)
        at nsk.jdi.VirtualMachine.dispose.dispose002.runThis(dispose002.java:278)
        at nsk.jdi.VirtualMachine.dispose.dispose002.run(dispose002.java:81)
        at nsk.jdi.VirtualMachine.dispose.dispose002.main(dispose002.java:76)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at com.sun.javatest.regtest.agent.MainWrapper$MainTask.run(MainWrapper.java:138)
        at java.base/java.lang.Thread.run(Thread.java:1570)
# ERROR: binder> Debugee VM has not exited correctly: trying to kill it
The following stacktrace is for failure analysis.
nsk.share.TestFailure: binder> Debugee VM has not exited correctly: trying to kill it
        at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
        at nsk.share.Log.complain(Log.java:402)
        at nsk.share.jpda.DebugeeProcess.complain(DebugeeProcess.java:458)
        at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:438)
        at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
        at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
        at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
------------ Try to print debuggee threads before killing process ------------
The following stacktrace is for failure analysis.
nsk.share.TestFailure:
        at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:431)
        at nsk.share.Log.complain(Log.java:402)
        at nsk.share.jdi.Debugee.printThreadsInfo(Debugee.java:629)
        at nsk.share.jdi.Debugee.killDebugee(Debugee.java:640)
        at nsk.share.jdi.LocalLaunchedDebugee.killDebugee(Binder.java:1048)
        at nsk.share.jpda.DebugeeProcess.close(DebugeeProcess.java:439)
        at nsk.share.jpda.DebugeeProcess.cleanup(DebugeeProcess.java:467)
        at nsk.share.Finalizable.finalizeAtExit(Finalizable.java:50)
        at nsk.share.Finalizer$FinalizerThread.run(Finalizer.java:122)
com.sun.jdi.VMDisconnectedException: connection is closed
        at jdk.jdi/com.sun.tools.jdi.TargetVM.send(TargetVM.java:293)
        at jdk.jdi/com.sun.tools.jdi.VirtualMachineImpl.sendToTarget(VirtualMachineImpl.java:1

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/16280#discussion_r1367219856


More information about the serviceability-dev mailing list