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
public ReaderThread() {
			super("ReaderThread"); 
		}
		public void run(){
			try { 
				String message= null; 
				while (true) { 
					if ((message= fReader.readLine()) != null) {
						
						if (message.startsWith(MessageIds.TEST_STOP)){
							fStopped= true;
							RemoteTestRunner.this.stop();
							synchronized(RemoteTestRunner.this) {
								RemoteTestRunner.this.notifyAll();
							}
							break;
						}
						
						else if (message.startsWith(MessageIds.TEST_RERUN)) {
							String arg= message.substring(MessageIds.MSG_HEADER_LENGTH);
							int c= arg.indexOf(" "); 
							synchronized(RemoteTestRunner.this) {
								fRerunRequests.add(new RerunRequest(arg.substring(0, c), arg.substring(c+1)));
								RemoteTestRunner.this.notifyAll();
							}