JDK-8268568 : serviceability/dcmd/framework/InvalidCommandTest.java failed with "Failure: Unable to send object throw not established PipeIO Listener Thread connection"
  • Type: Bug
  • Component: core-svc
  • Sub-Component: tools
  • Affected Version: 17
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows
  • CPU: x86_64
  • Submitted: 2021-06-10
  • Updated: 2021-06-10
  • Resolved: 2021-06-10
Related Reports
Duplicate :  
Relates :  
Description
The following test failed in the JDK17 CI:

serviceability/dcmd/framework/InvalidCommandTest.java

Here's a snippet from the log file:

test InvalidCommandTest.jmx(): success
test InvalidCommandTest.mainClass(): failure
nsk.share.Failure: Unable to send object throw not established PipeIO Listener Thread connection:
	quit
	at nsk.share.jpda.SocketConnection.writeObject(SocketConnection.java:532)
	at nsk.share.jpda.SocketIOPipe.println(SocketIOPipe.java:177)
	at TestProcessLauncher.quit(TestProcessLauncher.java:80)
	at InvalidCommandTest.mainClass(InvalidCommandTest.java:62)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
	at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:599)
	at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:174)
	at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46)
	at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:822)
	at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:147)
	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146)
	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at org.testng.TestRunner.privateRun(TestRunner.java:764)
	at org.testng.TestRunner.run(TestRunner.java:585)
	at org.testng.SuiteRunner.runTest(SuiteRunner.java:384)
	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:378)
	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:337)
	at org.testng.SuiteRunner.run(SuiteRunner.java:286)
	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:53)
	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:96)
	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1218)
	at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
	at org.testng.TestNG.runSuites(TestNG.java:1069)
	at org.testng.TestNG.run(TestNG.java:1037)
	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:94)
	at com.sun.javatest.regtest.agent.TestNGRunner.main(TestNGRunner.java:54)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:833)
Running DCMD 'asdf' through 'PidJcmdExecutor'
Executing command '[c:\\ade\\mesos\\work_dir\\jib-master\\install\\jdk-17+26-2385\\windows-x64-debug.jdk\\jdk-17\\fastdebug\\bin\\jcmd.exe, 38844, asdf]'
[2021-06-09T09:09:45.516515Z] Gathering output for process 47892
debugee.stdout> Test Java process started!
debugee.stdout> Waiting for the quit command from the test ...
[2021-06-09T09:09:47.792671300Z] Waiting for completion for process 47892
[2021-06-09T09:09:47.792671300Z] Waiting for completion finished for process 47892
Output and diagnostic info for process 47892 was saved into 'pid-47892-output.log'
[2021-06-09T09:09:47.808304100Z] Waiting for completion for process 47892
[2021-06-09T09:09:47.808304100Z] Waiting for completion finished for process 47892
Command returned with exit code 1
---------------- stdout ----------------
38844:

---------------- stderr ----------------
java.lang.IllegalArgumentException: Unknown diagnostic command

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

test InvalidCommandTest.pid(): success

===============================================
serviceability/dcmd/framework/InvalidCommandTest.java
Total tests run: 4, Passes: 3, Failures: 1, Skips: 0
===============================================

This is a different failure mode than this unresolved issue for the same test:

JDK-8230410 serviceability/dcmd/framework/InvalidCommandTest.java fails intermittently with timeout
Comments
I've relinked the two failures that were linked to this bug to JDK-8268433. And closed this bug as a dup of JDK-8268433.
10-06-2021

Yes this failure mode is covered by JDK-8268433, and a number of failing dcmd tests linked to it.
10-06-2021

I think this is a dup of JDK-8268433 and related to the recent changes for JDK-8237388.
10-06-2021