binder> Waiting for VM initialized
Initial VMStartEvent received: VMStartEvent in thread main
--> debugger: nsk.jdi.VirtualMachine.dispose.dispose002a debuggee launched
debugee.stderr> **> mainThread: debuggee started!
--> debugger: 'ready' recieved
==> nsk/jdi/VirtualMachine/dispose/dispose002 TESTING BEGINS
debugee.stderr> **> mainThread: waiting for an instruction from the debugger ...
debugee.stderr> **> mainThread: thread2 is created
debugee.stderr> **> mainThread: synchronized (waitnotifyObj) { enter
debugee.stderr> **> mainThread: before: test_thread.start()k
debugee.stderr> **> mainThread: before: waitnotifyObj.wait();
debugee.stderr> **> thread2: method 'run' enter
debugee.stderr> **> thread2: entered into block: synchronized (waitnotifyObj)
debugee.stderr> **> thread2: exited from block: synchronized (waitnotifyObj)
debugee.stderr> **> mainThread: after: waitnotifyObj.wait();
==> nsk/jdi/VirtualMachine/dispose/dispose002 new checkready: #0
--> debugger: getting ThreadReference object
--> debugger: setting up breakpoints
--> debugger: setting up a breakpoint: method: 'runt1' line: breakpointLineNumber1
--> debugger: a breakpoint has been set up
--> debugger: enabling breakpRequest1
--> debugger: vm.dispose()
--> debugger: breakpRequest1 is enabled
--> 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
--> debugger: ......sending to the debuggee: 'check_alive'
--> debugger: expected reply: 'not_alive'
debugee.stderr> **> mainThread: checking on: thread2.isAlive
# ERROR: ##> debugger: ERROR: thread2 is alive
The following stacktrace is for failure analysis.
nsk.share.TestFailure: ##> debugger: ERROR: thread2 is alive
at nsk.share.Log.logExceptionForFailureAnalysis(Log.java:428)
at nsk.share.Log.complain(Log.java:399)
at nsk.jdi.VirtualMachine.dispose.dispose002.log3(dispose002.java:95)
at nsk.jdi.VirtualMachine.dispose.dispose002.lambda$runThis$0(dispose002.java:285)
at jdk.test.lib.Utils.waitForCondition(Utils.java:533)
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.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at PropertyResolvingWrapper.main(PropertyResolvingWrapper.java:104)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:830)
--> debugger: ......sending to the debuggee: 'check_alive'
--> debugger: expected reply: 'not_alive'
# ERROR: ##> debugger: ERROR: thread2 is alive
debugee.stderr> **> mainThread: checking on: thread2.isAlive
--> debugger: ......sending to the debuggee: 'check_alive'
--> debugger: expected reply: 'not_alive'
# ERROR: ##> debugger: ERROR: thread2 is alive
debugee.stderr> **> mainThread: checking on: thread2.isAlive
--> debugger: ......sending to the debuggee: 'check_alive'
--> debugger: expected reply: 'not_alive'