Uploaded image for project: 'JBoss Remoting (3+)'
  1. JBoss Remoting (3+)
  2. REM3-328

Potential BufferUnderflowException while receiving EJB messages

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 4.0.26.Final
    • 4.0.25.Final
    • None

      While making a remote EJB call, following exception/error is seen intermittently in some cases where a large TGT (Ticket-Granting Ticket, a piece of data used by Kerberos authentication) is present in EJB payload and one large packet (from client side) is broken into 2 smaller packets and received on server side.

      -----------------------------------------------------------------------------
      15:36:08,569 TRACE [org.jboss.remoting.remote.connection] (default I/O-2) Connection error detail: java.io.IOException: JBREM000201: Received invalid message on Remoting connection 0566def2 to /192.168.1.100:10517 of endpoint "standalone-server” <600f515a>
      at org.jboss.remoting3.remote.ServerConnectionOpenListener$Initial.handleEvent(ServerConnectionOpenListener.java:380)
      at org.jboss.remoting3.remote.ServerConnectionOpenListener$Initial.handleEvent(ServerConnectionOpenListener.java:160)
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:198) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:112) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) [xnio-api-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) [xnio-nio-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]
      at org.xnio.nio.WorkerThread.run(WorkerThread.java:571) [xnio-nio-3.4.7.Final-redhat-1.jar:3.4.7.Final-redhat-1]

      15:36:08,570 DEBUG [org.jboss.remoting.remote.connection] (default I/O-2) JBREM000200: Remote connection failed: java.io.IOException: JBREM000201: Received invalid message on Remoting connection 0566def2 to /192.168.1.100:10517 of endpoint "standalone-server” <600f515a>
      15:36:08,570 ERROR [stderr] (default I/O-2) java.nio.BufferUnderflowException
      15:36:08,570 ERROR [stderr] (default I/O-2) at org.xnio.Buffers.unget(Buffers.java:821)
      15:36:08,570 ERROR [stderr] (default I/O-2) at org.jboss.remoting3.remote.RemotingMessageChannel.receive(RemotingMessageChannel.java:204)
      15:36:08,570 ERROR [stderr] (default I/O-2) at org.jboss.remoting3.remote.RemotingMessageChannel.receive(RemotingMessageChannel.java:156)
      15:36:08,570 ERROR [stderr] (default I/O-2) at org.jboss.remoting3.remote.ServerConnectionOpenListener$Initial.handleEvent(ServerConnectionOpenListener.java:254)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.jboss.remoting3.remote.ServerConnectionOpenListener$Initial.handleEvent(ServerConnectionOpenListener.java:160)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:198)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:112)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      15:36:08,571 ERROR [stderr] (default I/O-2) at org.xnio.nio.WorkerThread.run(WorkerThread.java:571)
      -----------------------------------------------------------------------------

      This will lead to EJB client side error "IOException: An existing connection was forcibly closed by the remote host"

            rhn-support-bmaxwell Brad Maxwell
            rhn-support-bmaxwell Brad Maxwell
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: