3 Replies Latest reply on Apr 12, 2010 12:41 PM by ron_sigal

    Invalid pointer operation?

      Has anyone seen this error before? More importantly do you know what it means? It occurs after numerous (100,000's) of successful followed by a few unsuccessful invokeOneway calls?

       

      First error (occurs several times)

      2010-03-12 16:29:04,843 ERROR [STDERR] org.jboss.remoting.CannotConnectException: Can not connect http client invoker. Read timed out.
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:348)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.Client.invoke(Client.java:1634)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.Client.invoke(Client.java:548)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.Client.invokeOneway(Client.java:598)
      2010-03-12 16:29:04,843 ERROR [STDERR]  at org.jboss.remoting.Client.invokeOneway(Client.java:786)

       

      (then this fatal error which terminates the thread trying to make the http requests)

       

      2010-03-12 16:37:17,937 ERROR [STDERR] org.jboss.remoting.transport.http.WebServerError: Invalid pointer operation
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.transport.http.HTTPClientInvoker.useHttpURLConnection(HTTPClientInvoker.java:419)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.transport.http.HTTPClientInvoker.transport(HTTPClientInvoker.java:137)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.Client.invoke(Client.java:1634)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.Client.invoke(Client.java:548)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.Client.invokeOneway(Client.java:598)
      2010-03-12 16:37:17,937 ERROR [STDERR]  at org.jboss.remoting.Client.invokeOneway(Client.java:786)

       

      Your help would be much appreciated

       

      Many thanks

       

      Andy

        • 1. Re: Invalid pointer operation?
          ron_sigal

          Hi Andy,

           

          My answers would be "no" and "no".  I can tell you that a WebServerError is used to wrap an error message returned from the server.  Do you see anything interesting in the server logs?

           

          -Ron

          • 2. Re: Invalid pointer operation?

            Hi Ron

             

            Thank you for your response. On further investigation I discovered that the error was like you say, the error msg from the server. Unfortuneatly the server is owned by a third party so I have no access to it or the logs. However, the owner has now acknowledged that the error is at their end of the interface rather than mine and the cause would appear to be the server getting into an exceptional state and not closing the connection correctly. My only question is shouldn't there be an easy way of forcing JBoss remoting to terminate the connection after a timeout period?

             

            Andy

            • 3. Re: Invalid pointer operation?
              ron_sigal

              Hi Andy,

               

              The default client side read timeout in Remoting's http transport is 0, i.e., infinite.  However, you can configure a finite timeout in two ways:

               

              1. add "timeout=xxx" to the InvokerLocator, or

               

              2. add "timeout" to the invocation metadata; i.e., something like

               

                 httpInvokeMetadata.put("timeout", xxx);  // add this

                 remotingClient.invokeOneway("Sending GET Request", httpInvokeMetadata);

               

              -Ron