0 Replies Latest reply on Apr 2, 2013 7:38 PM by Christian Kölle

    [Remoting 3]: EOFExceptions and IOExceptions in remote EJB calls under load

    Christian Kölle Newbie

      Hi

       

      I have posted this question in the JBoss 7 forum but didn't get an answer. I hope that somebody in this forum has some idea what's the problem here.

       

      We have a web application that ist split up in a frontend and a backend application. The frontend calls EJBs in the backend. This works pretty well but in production we occasionaly we get exceptions at times that we know as high load periods.

       

      Both applications run on JBoss 7.1.2 application servers.

       

      In the frontend we see something like this:

       

      00:59:10,337 ERROR [org.jboss.remoting.remote.connection] (Remoting "jboss-web-extern" read-1) JBREM000200: Remote connection failed: java.io.IOException: Input overrun

      00:59:10,393 ERROR [****] (ajp-/0.0.0.0:8009-130) Cannot perform usecase ***

      java.lang.reflect.UndeclaredThrowableException

              $Proxy75.performUseCase(Unknown Source)

               ......

      Cause: java.io.EOFException: Writes have been shut down

              org.xnio.channels.FramedMessageChannel.send(FramedMessageChannel.java:220)

              org.xnio.channels.Channels.sendBlocking(Channels.java:200)

              org.jboss.remoting3.remote.OutboundMessage$1.accept(OutboundMessage.java:109)

              org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:125)

              org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:113)

       

      In the backend something like this:

       

      00:59:10,348 ERROR [org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler] (EJB default - 13) Could not write method invocation result for method public *** on bean named *** for appname *** modulename common-ejb distinctname due to : java.io.IOException: Broken pipe

              at sun.nio.ch.FileDispatcherImpl.write0(Native Method) [rt.jar:1.7.0_06]

              at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) [rt.jar:1.7.0_06]

              at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:89) [rt.jar:1.7.0_06]

              at sun.nio.ch.IOUtil.write(IOUtil.java:60) [rt.jar:1.7.0_06]

              at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:450) [rt.jar:1.7.0_06]

              at org.xnio.nio.AbstractNioStreamChannel.write(AbstractNioStreamChannel.java:303)

              at org.xnio.channels.FramedMessageChannel.doFlushBuffer(FramedMessageChannel.java:297) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.channels.FramedMessageChannel.doFlush(FramedMessageChannel.java:311) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.channels.FramedMessageChannel.send(FramedMessageChannel.java:238) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.channels.Channels.sendBlocking(Channels.java:200) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.jboss.remoting3.remote.OutboundMessage$1.accept(OutboundMessage.java:109) [jboss-remoting-3.2.7.GA.jar:3.2.7.GA]

              at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:125) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:113) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.streams.BufferPipeOutputStream.flush(BufferPipeOutputStream.java:142) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.xnio.streams.BufferPipeOutputStream.close(BufferPipeOutputStream.java:160) [xnio-api-3.0.3.GA.jar:3.0.3.GA]

              at org.jboss.remoting3.remote.OutboundMessage.close(OutboundMessage.java:193) [jboss-remoting-3.2.7.GA.jar:3.2.7.GA]

              at org.jboss.as.ejb3.remote.protocol.versionone.ChannelAssociation.releaseChannelMessageOutputStream(ChannelAssociation.java:85)

              at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.writeMethodInvocationResponse(MethodInvocationMessageHandler.java:348)

              at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$500(MethodInvocationMessageHandler.java:67)

              at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:237)

              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_06]

              at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_06]

              at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_06]

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_06]

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_06]

              at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_06]

              at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]

       

      I haven't found more information on this exceptions on the net.

       

      For me it is not clear what this means. Does this have an effect on the users? Is there a problem with our implementation or perhaps the configuration?

       

      Christian

      - See more at: https://community.jboss.org/thread/208053#sthash.kIA4sN06.dpuf