Bug 19859 [JUnit] Socket connection error
I'll provide more specifics as I come across them. Sorry for the sparse detail. Sometimes (but not always) when I Run.. or Debug.. a JUnit launcher, I get the following exception: Console [<disconnected> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner at localHost:9613] Could not connect to: : 6293 java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:295) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:161) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:148) at java.net.Socket.connect(Socket.java:425) at java.net.Socket.connect(Socket.java:375) at java.net.Socket.<init>(Socket.java:290) at java.net.Socket.<init>(Socket.java:118) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.connect(RemoteTestRunner.java:440) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:210) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:151) Could be related to one of the following: **I'm running a dual head linux systems via xinerama, but other apps have not had any difficulty. **I'm suspicious that the problem occurs when I have more than one perspective open in different windows, OR when using Debug... would cause a new perspective to be started.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/runner/RemoteTestRunner.java
/**
	 * Connect to the remote test listener.
	 */
	private boolean connect() {
		if (fDebugMode)
			System.out.println("RemoteTestRunner: trying to connect" + fHost + ":" + fPort); 
		Exception exception= null;
		for (int i= 1; i < 5; i++) {
			try{
				fClientSocket= new Socket(fHost, fPort);
				fWriter= new PrintWriter(fClientSocket.getOutputStream(), false);
				fReader= new BufferedReader(new InputStreamReader(fClientSocket.getInputStream()));
				new ReaderThread().start();
				return true;
			} catch(IOException e){
				exception= e;
			}
			try {
				Thread.currentThread().sleep(200);
			} catch(InterruptedException e) {
			}
		}
		runFailed(JUnitMessages.getFormattedString("RemoteTestRunner.error.connect", new String[]{fHost, Integer.toString(fPort)} )); 
		exception.printStackTrace();
		return false;
	}
	/**
	 * Shutsdown the connection to the remote test listener.
	 */