JBoss Community

EOFExceptions and IOExceptions in remote EJB calls under load

created by Christian Kölle in JBoss Remoting - View the full discussion

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

Reply to this message by going to Community

Start a new discussion in JBoss Remoting at Community