Bisocket server invoker NPE
timfox Mar 13, 2007 8:43 AMWe are seeing the following exception intermittently in JBM:
12:20:32,765 WARN @Timer-1 [BisocketServerInvoker] org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask@ce796: detected failure on control connection Thread[control: Socket[addr=/10.11.14.146,port=2685,localport=3576],5,]: requesting new control connection 12:20:32,843 ERROR @Thread-18 [BisocketServerInvoker] unable to get secondary locator 12:20:32,843 ERROR @Thread-18 [BisocketServerInvoker] Unable to recreate control connection: InvokerLocator [null://10.11.14.146:2685/null] java.io.IOException: unable to get secondary locator: null at org.jboss.remoting.transport.bisocket.BisocketServerInvoker.createControlConnection(BisocketServerInvoker.java:165) at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$1.run(BisocketServerInvoker.java:729)
Looking at the code, it seems to be swallowing the exception:
} catch (Throwable t) { log.error("unable to get secondary locator"); throw new IOException("unable to get secondary locator: " + t.getMessage()); }
I amended the code, so as not to swallow the exception which revealed the following:
12:38:44,656 WARN @Timer-1 [BisocketServerInvoker] org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask@45378f: detected failure on control connection Thread[control: Socket[addr=/10.11.14.146,port=3213,localport=3679],5,]: requesting new control connection 12:38:44,859 ERROR @Thread-15 [BisocketServerInvoker] unable to get secondary locator java.lang.NullPointerException at org.jboss.remoting.transport.bisocket.BisocketServerInvoker.createControlConnection(BisocketServerInvoker.java:160) at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask$1.run(BisocketServerInvoker.java:777) 12:38:44,859 ERROR @Thread-15 [BisocketServerInvoker] Unable to recreate control connection: InvokerLocator [null://10.11.14.146:3213/null] java.io.IOException: unable to get secondary locator: null at org.jboss.remoting.transport.bisocket.BisocketServerInvoker.createControlConnection(BisocketServerInvoker.java:166) at org.jboss.remoting.transport.bisocket.BisocketServerInvoker$ControlMonitorTimerTask$1.run(BisocketServerInvoker.java:777) 1
I.e. the client invoker with the id can't be found.