1 Reply Latest reply on Oct 24, 2008 12:18 AM by Ron Sigal

    NPE in ServerInvokerCallbackHandler

    Jeremy Stone Newbie

      If memory is running short so that handleCallback calls persistCallback (applies to pull-style callbacks - e.g. when connect via http), a NullPointerException can result in persistCallback if the client simultaneously disconnects causing destroy() to be called setting callbackStore to null.

      Can easily reproduce this behaviour by stopping the callback thread in the debugger as the client is disconnected (or abruptly killed).

      Changing persistCallback to:

      private synchronized void persistCallback(InvocationRequest callback) throws IOException
       {
       if (callbackStore != null){
       callbackStore.add(callback);
       }
       }


      may fix it.

      BTW this is in JBoss Remoting 2.2.2.SP8.

      Suspect similar to issue raised in http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4175262 (which has no replies as yet). Stack trace is the same.