Community
Participate
Working Groups
While trying to reproduce the DNF's locally, I got the following: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:189) at java.net.SocketInputStream.read(SocketInputStream.java:121) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:154) at java.io.BufferedReader.readLine(BufferedReader.java:317) at java.io.BufferedReader.readLine(BufferedReader.java:382) at org.eclipse.ant.internal.launching.launchConfigurations.RemoteAntBuildListener$ServerConnection.run(RemoteAntBuildListener.java:93) Looks like we are trying to read from the closed socket. It can happen that the socket has been closed and a read takes place before we are notified of the launch being removed. Should probably add in an ILaunch#isTerminated check to: while (fLaunch != null && fBufferedReader != null && (message = fBufferedReader.readLine()) != null) {
Fixed in: http://git.eclipse.org/c/platform/eclipse.platform.git/commit/?id=7a31d5e47b2987859e6fcfa29cd114b9515fc946
Hallo
The use of the ready() Methode on the BufferedReader in the commit of this fix ist cause an high cpu consume. See on windows with java 7 and java 8 with eclipse 4.4.1. if i change the while loop code back to use only the readLine() Methode: // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=414516 // the launch can be terminated but we haven't been notified yet String message; while (fLaunch != null && !fLaunch.isTerminated() && fBufferedReader != null && (message = fBufferedReader.readLine()) != null) { receiveMessage(message); } then everthing ok.
(In reply to Roman Fischer from comment #2) > Hallo If you see a bug/regression then please file a new bug with steps to reproduce the problem.