Hi there, I have a problem with connections between my client and my server when using sslsocket protocol. My server unexpectedly shuts down during refresh. I looked at it for my self and this is what I found out:
It happens that somehow during a refresh in the SocketServerInvoker, the socket is not unbound correctly after a not allowed atempt to connect. So when creating a new socket and trying to bind it to the old address, a BindException occures, when calling this line: | ServerSocket newServerSocket = createServerSocket(getServerBindPort(), backlog, bindAddress); | in the refreshServerSocket() method. My server then shuts down and my client is not able to conect anymore. Here is what my client shows: | | 2007-04-26 09:54:15,957 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[90c06f, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:15,957 DEBUG [main] org.jboss.remoting.MicroRemoteClientInvoker: disconnect called for: SocketClientInvoker[90c06f, sslsocket://CRICHTER:1101] | 2007-04-26 09:54:15,957 DEBUG [main] org.jboss.remoting.transport.socket.SocketWrapper: ClientSocketWrapper[1829e6f[TLS_DHE_DSS_WITH_AES_128_CBC_SHA: Socket[addr=CRICHTER.emea.hpqcorp.net/16.58.6.211,port=1101,localport=1636]].1829e6f] closing | successfully handled this request | ***************** positive test ****************** | 2007-04-26 09:54:30,971 INFO [main] client.ServerConnector: receiving remote Object from Server | 2007-04-26 09:54:30,971 DEBUG [main] client.ServerConnector: setting SSL Properties | 2007-04-26 09:54:30,971 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] constructed | 2007-04-26 09:54:30,971 DEBUG [main] org.jboss.remoting.MicroRemoteClientInvoker: connect called for: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] | 2007-04-26 09:54:30,971 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] added new pool ([]) as ServerAddress[16.58.6.211:1101, NO enableTcpNoDelay timeout 1800000 ms] | 2007-04-26 09:54:31,986 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1015 ms | 2007-04-26 09:54:32,002 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[90c06f, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:32,002 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[90c06f, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:33,002 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1016 ms | 2007-04-26 09:54:34,001 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 999 ms | 2007-04-26 09:54:35,001 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:36,017 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:37,017 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:38,032 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1015 ms | 2007-04-26 09:54:39,032 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:40,032 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:41,047 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1015 ms | 2007-04-26 09:54:42,047 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:43,047 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:44,062 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[2e1f1f, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[2e1f1f, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[9934d4, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[9934d4, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[16f144c, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[16f144c, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[12bcd4b, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:44,094 DEBUG [Finalizer] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[12bcd4b, sslsocket://CRICHTER:1101] disconnecting ... | 2007-04-26 09:54:45,062 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:46,078 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1016 ms | 2007-04-26 09:54:47,077 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 999 ms | 2007-04-26 09:54:48,077 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:49,093 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1016 ms | 2007-04-26 09:54:50,093 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:51,092 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 999 ms | 2007-04-26 09:54:52,108 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:53,108 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:54,123 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1015 ms | 2007-04-26 09:54:55,123 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:56,123 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:57,138 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1015 ms | 2007-04-26 09:54:58,138 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | 2007-04-26 09:54:59,154 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1016 ms | 2007-04-26 09:55:00,153 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 999 ms | 2007-04-26 09:55:01,153 DEBUG [main] org.jboss.remoting.transport.socket.MicroSocketClientInvoker: SocketClientInvoker[180f96c, sslsocket://CRICHTER:1101] got Exception java.net.ConnectException: Connection refused: connect, creation attempt took 1000 ms | org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [sslsocket://CRICHTER:1101/] | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:525) | at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:125) | at org.jboss.remoting.Client.invoke(Client.java:630) | at org.jboss.remoting.Client.invoke(Client.java:622) | at org.jboss.remoting.Client.invoke(Client.java:607) | at org.jboss.remoting.transporter.TransporterClient.invoke(TransporterClient.java:276) | at $Proxy0.getHandle(Unknown Source) | at client.Client.getHandle(Client.java:28) | at client.ClientTest.testGetHandlePositiveMultiple(ClientTest.java:43) | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) | at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) | at java.lang.reflect.Method.invoke(Unknown Source) | at junit.framework.TestCase.runTest(TestCase.java:154) | at junit.framework.TestCase.runBare(TestCase.java:127) | at junit.framework.TestResult$1.protect(TestResult.java:106) | at junit.framework.TestResult.runProtected(TestResult.java:124) | at junit.framework.TestResult.run(TestResult.java:109) | at junit.framework.TestCase.run(TestCase.java:118) | at junit.framework.TestSuite.runTest(TestSuite.java:208) | at junit.framework.TestSuite.run(TestSuite.java:203) | at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128) | at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) | at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196) | Caused by: java.net.ConnectException: Connection refused: connect | at java.net.PlainSocketImpl.socketConnect(Native Method) | at java.net.PlainSocketImpl.doConnect(Unknown Source) | at java.net.PlainSocketImpl.connectToAddress(Unknown Source) | at java.net.PlainSocketImpl.connect(Unknown Source) | at java.net.SocksSocketImpl.connect(Unknown Source) | at java.net.Socket.connect(Unknown Source) | at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source) | at org.jboss.remoting.transport.socket.SocketClientInvoker.createSocket(SocketClientInvoker.java:187) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.getConnection(MicroSocketClientInvoker.java:796) | at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:521) | ... 26 more | And here is what I see on the server when the BindException occures: | 2007-04-26 09:54:25,362 DEBUG [Timer-0] server.Reloader: reloading Truststore, Round 16 | 2007-04-26 09:54:25,362 INFO [Timer-0] org.jboss.remoting.transport.socket.SocketServerInvoker: ServerSocketFactory has been updated | 2007-04-26 09:54:25,362 DEBUG [ServerSocketRefresh] org.jboss.remoting.transport.socket.SocketServerInvoker: got notice about new ServerSocketFactory | 2007-04-26 09:54:25,362 DEBUG [ServerSocketRefresh] org.jboss.remoting.transport.socket.SocketServerInvoker: refreshing server socket | 2007-04-26 09:54:25,362 DEBUG [Timer-0] server.Reloader: successfully reloaded truststore | 2007-04-26 09:54:25,362 DEBUG [ServerSocketRefresh] org.jboss.remoting.transport.socket.SocketServerInvoker: could not refresh server socket | 2007-04-26 09:54:25,362 ERROR [AcceptorThread#0:1101] org.jboss.remoting.transport.socket.SocketServerInvoker: SocketServerInvoker[UNINITIALIZED] failed to handle socket | java.net.SocketException: socket closed | at java.net.PlainSocketImpl.socketAccept(Native Method) | at java.net.PlainSocketImpl.accept(Unknown Source) | at java.net.ServerSocket.implAccept(Unknown Source) | at com.sun.net.ssl.internal.ssl.SSLServerSocketImpl.accept(Unknown Source) | at org.jboss.remoting.transport.socket.SocketServerInvoker.run(SocketServerInvoker.java:520) | at java.lang.Thread.run(Unknown Source) | 2007-04-26 09:54:25,362 DEBUG [ServerSocketRefresh] org.jboss.remoting.transport.socket.SocketServerInvoker: message is: Address already in use: JVM_Bind | 2007-04-26 09:54:25,362 DEBUG [ServerSocketRefresh] org.jboss.remoting.transport.socket.SocketServerInvoker: server socket refreshed | 2007-04-26 09:54:25,362 ERROR [AcceptorThread#0:1101] org.jboss.remoting.transport.socket.SocketServerInvoker: Cannot proceed without functioning server socket. Shutting down | 2007-04-26 09:54:25,362 DEBUG [AcceptorThread#0:1101] org.jboss.remoting.ServerInvoker: SocketServerInvoker[UNINITIALIZED] stopped Especially this line is interesting: | 2007-04-26 09:02:09,458 ERROR [AcceptorThread#0:1101] org.jboss.remoting.transport.socket.SocketServerInvoker: Cannot proceed without functioning server socket. Shutting down | In refreshServerSocket() the serverSocket is set to null but then the Exception occures and serverSocket is not set anymore. I guess the BindException shouldn't occur. Is this is a bug? And shall I open a JIRA issue? (btw. I use the CVS version of jboss-remoting) Thanks for your help Claudia View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4040861#4040861 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4040861 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user