Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-6086

Deadlock in org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler

XMLWordPrintable

      Class:

      org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler
      

      Method:

      public void processMessage(ChannelAssociation, MessageInputStream) throws IOException;
      

      This code fragment:

      try {
          methodParams[i] = unmarshaller.readObject();
      } catch (ClassNotFoundException cnfe) {
         /.../
         return;
      }
      

      doesn't catch java.lang.IllegalArgumentException.
      This causes the server hangs.

      Example stacktrace:

      java.lang.IllegalArgumentException: No enum const org.example.ExampleEnum.ENUM_VALUE
       	at java.lang.Enum.valueOf(Enum.java:196)
       	at org.jboss.marshalling.river.RiverUnmarshaller.resolveEnumConstant(RiverUnmarshaller.java:1549)
       	at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1293)
       	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
       	at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
       	at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
       	at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.processMessage(MethodInvocationMessageHandler.java:164)
       	at org.jboss.as.ejb3.remote.protocol.versionone.VersionOneProtocolChannelReceiver.handleMessage(VersionOneProtocolChannelReceiver.java:182)
       	at org.jboss.remoting3.remote.RemoteConnectionChannel$5.run(RemoteConnectionChannel.java:429)
       	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
       	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
       	at java.lang.Thread.run(Thread.java:662)
      

      I caught java.lang.Exception. It helps.

              emartins@redhat.com Eduardo Martins
              knocen Krzysztof Noceń (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: