testng-eclipse
testng-eclipse copied to clipboard
java.net.SocketException when attempting to run a test
Hitting java.net.SocketException
on a new Eclipse / TestNG-eclipse install on a new machine...
Plugin Version
TestNG 6.11.0.201703011520
Other Software
Eclipse Version: Neon.3 Release (4.6.3), Build id: 20170314-1500 JRE: 1.8.0_121
Expected behaviour
Test should run
Actual behaviour
java.net.SocketException: Broken pipe (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
at java.io.BufferedWriter.flush(BufferedWriter.java:254)
at org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:41)
at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:42)
at org.testng.remote.strprotocol.RemoteTestListener1.onStart(RemoteTestListener1.java:29)
at org.testng.TestRunner.fireEvent(TestRunner.java:1236)
at org.testng.TestRunner.beforeRun(TestRunner.java:651)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:366)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319)
at org.testng.SuiteRunner.run(SuiteRunner.java:268)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1244)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1169)
at org.testng.TestNG.run(TestNG.java:1064)
at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
Any relate message in "Error Log" view
None
The Dependency Management tool for your project
Maven
Operating System
macOS Sierra (10.12.4)
Just tried a few random older versions and found that 6.9.5.201505251947 works. I'll stick with that for now...
hey, could you enable the debug to help gathering more details: click "Run" on the top level menu -> Run Configurations... -> locate to the test configuration -> checked both 'Verbose' and 'Debug' in Runtime group. re-rurn the test and paste the output here, thx.
i have the same error, plz see the more info ,@missedone
RemoteTestNG] detected TestNG version 6.8.0 [RemoteTestNG] Invoked with -serport 56332 -protocol json -d \target C:\Users\ADMINI~1\AppData\Local\Temp\testng-eclipse-295167544\testng-customsuite.xml [BaseMessageSender] Waiting for Eclipse client on localhost:56332 [BaseMessageSender] Received a connection from Eclipse on localhost:56332 [BaseMessageSender] Connection established, starting reader thread [BaseMessageSender] ReaderThread waiting for an admin message [JsonMessageSender] Sending message [GenericMessage ==> suiteCount:1, testCount:1] [BaseMessageSender] ReaderThread received admin message:>ACK [BaseMessageSender] Received ACK:>ACK [BaseMessageSender] Received ACK:>ACK [TestNG] Running: C:\Users\Administrator\AppData\Local\Temp\testng-eclipse-295167544\testng-customsuite.xml
[JsonMessageSender] Sending message [SuiteMessage ==> suite:Default suite, starting, methodCount:0] [BaseMessageSender] Received ACK:>ACK [BaseMessageSender] Received ACK:>ACK [JsonMessageSender] Sending message [TestMessage ==> suite:Default suite, testName:Default test, passed:0, failed:0] [BaseMessageSender] Received ACK:>ACK [BaseMessageSender] Received ACK:>ACK [JsonMessageSender] Sending message [TestResultMessage ==> suite:Default suite, test:Default test ................. xxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx [JsonMessageSender] Sending message [TestResultMessage ==> suite:Default suite, test:Default test, ................. [JsonMessageSender] Sending message [TestMessage ==> suite:Default suite, testName:Default test, passed:0, failed:1] java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) at java.net.SocketOutputStream.write(SocketOutputStream.java:155) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:41) at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:42) at org.testng.remote.strprotocol.RemoteTestListener1.onFinish(RemoteTestListener1.java:34) at org.testng.TestRunner.fireEvent(TestRunner.java:1246) at org.testng.TestRunner.afterRun(TestRunner.java:1039) at org.testng.TestRunner.run(TestRunner.java:621) at org.testng.SuiteRunner.runTest(SuiteRunner.java:334) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291) at org.testng.SuiteRunner.run(SuiteRunner.java:240) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1198) at org.testng.TestNG.runSuitesLocally(TestNG.java:1123) at org.testng.TestNG.run(TestNG.java:1031) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
HOHO,i have solved this question, make the testNG version in pom.xml and the testNG plugin version in Eclipse the same I use the 6.9.5 .
I am having similar problem. Using Jdk: 1.8.0_131 with testng plugin 6.9.5, IDE sts3.8.x. Could not resolve with the above solutions
Please use the latest release 6.9.11
I was using 6.9.11 earlier when I had the issue, I moved to 6.9.5 after goining thru these comments. However tried again with 6.9.11 matching plug-in with POM version. Issue still exists
the eclipse plugin use C/S model for communicating the result.
eclipse plugin start a socket server and listening, the runtime testng process is the socket client that send the test result to eclipse plugin.
according to the err msgjava.net.SocketException: Software caused connection abort: socket write error
, the error happened when send the result back to the socket server (aka, eclipse plugin).
so could you check if there's any network/firewall setting could impact this?
otherwise, could you share a sample project to reproduce this issue if it's not env specific issue.
thx
Looks like it has nothing to do with code as i tried on multiple projects. The error I am receiving is "TestNG result listening Job". The test cases never executed. and progress bar shows up for ever. I did upgrade the JDK1.8.0.131 to latest based on "https://stackoverflow.com/questions/41436317/an-internal-error-occurred-during-testng-result-listening-job-port-value-out" issue still exists
Sounds like an env specific issue. Do you see any error on the eclipse Error view? Also, please check firewall if there is any.
just a guess, not sure if it's helpful by adding JVM arg -Djava.net.preferIPv4Stack=true
in the test launch configuration.
I uninstalled and installed, eclipse, cleaned m2 repos having older version. created a simple project and ran it again. below is the outcome [RemoteTestNG] revisions: git.commit.id=28d46f3 git.branch=28d46f3138190e289b3865041c86853f39fcf052 git.build.version=1.2.1 [RemoteTestNG] detected TestNG version 6.11.0 [RemoteTestNG] Invoked with -serport 57606 -protocol json -d /Users/srbomma/eclipseoxygen-workspace/sample/test-output /var/folders/z0/c8j33f5d6xj_22vd0rtv2z7xw1j24c/T/testng-eclipse-1010297604/testng-customsuite.xml [BaseMessageSender] Waiting for Eclipse client on localhost:57606
i have the same issue in my test : java.net.SocketException: Software caused connection abort: socket write
Software version: TestNG 6.13.0.201712040650 Eclipse Version: Neon.3 Release (4.7.0), Build id: 20170620-1800 JRE: 1.8.0
Solution: Use the TestNG 6.9.5.201505251947
So I guess something happen between 6.9.10 and 6.13.0
I think this is an Eclipse and TestNG Plugin version issue. I was using Eclipse Neon, Release 4.5.0 and getting the error below. Furthermore, the TestNG window would not report any results.
I just upgraded Eclipse and am now running these versions: Eclipse Version: Oxygen.3a Release (4.7.3a) TestNG Plugin: 6.14.0.201802161500 TestNG: 6.9.8 Java Versison: 1.8.0_162
The errors are no longer showing in the output window, and the TestNG plugin is now properly showing the results.
This is one of the errors I was seeing with top of its stack trace:
java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) at java.net.SocketOutputStream.write(SocketOutputStream.java:155) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:41) at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:42) at org.testng.remote.strprotocol.RemoteTestListener1.onStart(RemoteTestListener1.java:29)
java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111) at java.net.SocketOutputStream.write(SocketOutputStream.java:155) at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:254) at org.testng.remote.strprotocol.JsonMessageSender.sendMessage(JsonMessageSender.java:41) at org.testng.remote.strprotocol.MessageHub.sendMessage(MessageHub.java:42) at org.testng.remote.strprotocol.RemoteTestListener1.onStart(RemoteTestListener1.java:29)
add -Dfile.encoding=utf-8
_ to your eclipse.ini file after -vmargs