testng-eclipse icon indicating copy to clipboard operation
testng-eclipse copied to clipboard

java.net.SocketException when attempting to run a test

Open jhalterman opened this issue 7 years ago • 15 comments

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)

jhalterman avatar Apr 28 '17 17:04 jhalterman

Just tried a few random older versions and found that 6.9.5.201505251947 works. I'll stick with that for now...

jhalterman avatar Apr 28 '17 17:04 jhalterman

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.

missedone avatar Apr 29 '17 00:04 missedone

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)

whendream avatar May 12 '17 07:05 whendream

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 .

whendream avatar May 12 '17 08:05 whendream

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

reply2sesh avatar Jun 07 '17 22:06 reply2sesh

Please use the latest release 6.9.11

missedone avatar Jun 07 '17 23:06 missedone

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

reply2sesh avatar Jun 07 '17 23:06 reply2sesh

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

missedone avatar Jun 08 '17 02:06 missedone

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

reply2sesh avatar Jun 08 '17 04:06 reply2sesh

Sounds like an env specific issue. Do you see any error on the eclipse Error view? Also, please check firewall if there is any.

missedone avatar Jun 08 '17 14:06 missedone

just a guess, not sure if it's helpful by adding JVM arg -Djava.net.preferIPv4Stack=true in the test launch configuration.

missedone avatar Jul 28 '17 01:07 missedone

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

reply2sesh avatar Aug 24 '17 05:08 reply2sesh

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

ZZHH7890 avatar Jan 04 '18 02:01 ZZHH7890

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)

jchesshir avatar Apr 19 '18 16:04 jchesshir

add -Dfile.encoding=utf-8_ to your eclipse.ini file after -vmargs

aromaLiuzh avatar Apr 04 '19 00:04 aromaLiuzh