Uploaded image for project: 'EJB Client Library (AS7+)'
  1. EJB Client Library (AS7+)
  2. EJBCLIENT-53

UndeclaredThrowableException if EJB invocation fails with IOException

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.0.0.Beta1, 1.0.15.Final
    • 1.0.14.Final
    • None

    Description

      UndeclaredThrowableExceptions were seen at failover testing through server crashes. Scenarios: jvmkill-dist-async, jvmkill-repl-async, jvmkill-repl-sync. Stack traces:

      2012/09/27 09:10:22:331 EDT [ERROR][Runner - 1533] HOST perf17.mw.lab.eng.bos.redhat.com:rootProcess:c - Error getting response. <java.lang.reflect.UndeclaredThrowableException>
              java.lang.reflect.UndeclaredThrowableException
      	at $Proxy0.getSerialAndIncrement(Unknown Source)
      	at org.jboss.smartfrog.clustering.ejb3.StatefulSBProcessorFactoryImpl$EJB3RequestProcessor.processRequest(StatefulSBProcessorFactoryImpl.java:75)
      	at org.jboss.smartfrog.loaddriver.CompoundRequestProcessorFactoryImpl$CompoundRequestProcessor.processRequest(CompoundRequestProcessorFactoryImpl.java:52)
      	at org.jboss.smartfrog.loaddriver.Runner.run(Runner.java:87)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.io.IOException: Broken pipe
      	at sun.nio.ch.FileDispatcher.write0(Native Method)
      	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
      	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:69)
      	at sun.nio.ch.IOUtil.write(IOUtil.java:40)
      	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
      	at org.xnio.nio.AbstractNioStreamChannel.write(AbstractNioStreamChannel.java:303)
      	at org.xnio.channels.FramedMessageChannel.doFlushBuffer(FramedMessageChannel.java:295)
      	at org.xnio.channels.FramedMessageChannel.doFlush(FramedMessageChannel.java:309)
      	at org.xnio.channels.FramedMessageChannel.send(FramedMessageChannel.java:236)
      	at org.xnio.channels.Channels.sendBlocking(Channels.java:200)
      	at org.jboss.remoting3.remote.OutboundMessage$1.accept(OutboundMessage.java:109)
      	at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:126)
      	at org.xnio.streams.BufferPipeOutputStream.send(BufferPipeOutputStream.java:114)
      	at org.xnio.streams.BufferPipeOutputStream.flush(BufferPipeOutputStream.java:143)
      	at org.xnio.streams.BufferPipeOutputStream.close(BufferPipeOutputStream.java:161)
      	at org.jboss.remoting3.remote.OutboundMessage.close(OutboundMessage.java:193)
      	at org.jboss.ejb.client.remoting.ChannelAssociation.releaseChannelMessageOutputStream(ChannelAssociation.java:266)
      	at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocation(RemotingConnectionEJBReceiver.java:203)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
      	at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      	at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
      	... 5 more
      
      2012/09/27 09:10:22:344 EDT [ERROR][Runner - 114] HOST perf17.mw.lab.eng.bos.redhat.com:rootProcess:c - Error getting response. <java.lang.reflect.UndeclaredThrowableException>
              java.lang.reflect.UndeclaredThrowableException
      	at $Proxy0.getSerialAndIncrement(Unknown Source)
      	at org.jboss.smartfrog.clustering.ejb3.StatefulSBProcessorFactoryImpl$EJB3RequestProcessor.processRequest(StatefulSBProcessorFactoryImpl.java:75)
      	at org.jboss.smartfrog.loaddriver.CompoundRequestProcessorFactoryImpl$CompoundRequestProcessor.processRequest(CompoundRequestProcessorFactoryImpl.java:52)
      	at org.jboss.smartfrog.loaddriver.Runner.run(Runner.java:87)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: org.jboss.remoting3.NotOpenException: Writes closed
      	at org.jboss.remoting3.remote.RemoteConnectionChannel.openOutboundMessage(RemoteConnectionChannel.java:107)
      	at org.jboss.remoting3.remote.RemoteConnectionChannel.writeMessage(RemoteConnectionChannel.java:296)
      	at org.jboss.ejb.client.remoting.ChannelAssociation.acquireChannelMessageOutputStream(ChannelAssociation.java:249)
      	at org.jboss.ejb.client.remoting.RemotingConnectionEJBReceiver.processInvocation(RemotingConnectionEJBReceiver.java:196)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
      	at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      	at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
      	at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:183)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
      	at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
      	at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
      	... 5 more
      
      2012/09/27 09:14:37:914 EDT [ERROR][Runner - 335] HOST perf17.mw.lab.eng.bos.redhat.com:rootProcess:c - Error getting response. <java.lang.reflect.UndeclaredThrowableException>
              java.lang.reflect.UndeclaredThrowableException
      	at $Proxy0.getSerialAndIncrement(Unknown Source)
      	at org.jboss.smartfrog.clustering.ejb3.StatefulSBProcessorFactoryImpl$EJB3RequestProcessor.processRequest(StatefulSBProcessorFactoryImpl.java:75)
      	at org.jboss.smartfrog.loaddriver.CompoundRequestProcessorFactoryImpl$CompoundRequestProcessor.processRequest(CompoundRequestProcessorFactoryImpl.java:52)
      	at org.jboss.smartfrog.loaddriver.Runner.run(Runner.java:87)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.io.IOException: Channel Channel ID 9d26983d (outbound) of Remoting connection 12dfbabd to null has been closed
      	at org.jboss.ejb.client.remoting.ChannelAssociation$1.handleClose(ChannelAssociation.java:115)
      	at org.jboss.ejb.client.remoting.ChannelAssociation$1.handleClose(ChannelAssociation.java:107)
      	at org.jboss.remoting3.spi.SpiUtils.safeHandleClose(SpiUtils.java:54)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable$CloseHandlerTask.run(AbstractHandleableCloseable.java:501)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.runCloseTask(AbstractHandleableCloseable.java:406)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeComplete(AbstractHandleableCloseable.java:277)
      	at org.jboss.remoting3.remote.RemoteConnectionChannel.closeAction(RemoteConnectionChannel.java:517)
      	at org.jboss.remoting3.spi.AbstractHandleableCloseable.closeAsync(AbstractHandleableCloseable.java:359)
      	at org.jboss.remoting3.remote.RemoteConnectionHandler.closeAllChannels(RemoteConnectionHandler.java:382)
      	at org.jboss.remoting3.remote.RemoteConnectionHandler.handleConnectionClose(RemoteConnectionHandler.java:103)
      	at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:78)
      	at org.jboss.remoting3.remote.RemoteReadListener.handleEvent(RemoteReadListener.java:45)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72)
      	at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:189)
      	at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:103)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:72)
      	at org.xnio.nio.NioHandle.run(NioHandle.java:90)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:187)
      

      These exceptions were numerous and were seen by clients (ejb remote calls) after node crash. This is the client call of the bean:

                  myBean = (RemoteStatefulSB) context.lookup("ejb:" + appName + "/" + moduleName + "/" + distinctName + "/" + beanName + "!" + viewClassName + "?stateful");
      

      Links to hudson jobs:

      https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-Failover/job/eap-6x-failover-ejb-ejbremote-jvmkill-dist-async/7/console-perf17/
      https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-Failover/job/eap-6x-failover-ejb-ejbremote-jvmkill-repl-async/8/console-perf17/
      https://jenkins.mw.lab.eng.bos.redhat.com/hudson/view/EAP6/view/EAP6-Failover/job/eap-6x-failover-ejb-ejbremote-jvmkill-repl-sync/13/console-perf17/

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              rjanik@redhat.com Richard Janik
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: