2 Replies Latest reply on Aug 28, 2015 5:15 AM by Jeremy Whiting

    [Remoting3] Indefinitely waiting threads when remoting layer closing.

    Jeremy Whiting Expert

      Hi,

      I am running a benchmark that creates some load. Some of the load is doing remote ejb calls.

       

      When my ejb client jvm attempts to close down the vm is getting wedged. It has happened more than once. jstack was used to dump out the state of the vm and it's threads with respective call stack. The 2 attachments are are the output of jstack.

       

      The following is from the output of process id 11001 for two of the threads in remoting code waiting for a notification.

       

       

      "Thread-715" daemon prio=10 tid=0x00007f486c052800 nid=0xc82 in Object.wait() [0x00007f4769995000]

         java.lang.Thread.State: WAITING (on object monitor)

          at java.lang.Object.wait(Native Method)

          at java.lang.Object.wait(Object.java:503)

          at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:177)

          - locked <0x000000041e248288> (a java.lang.Object)

          at org.jboss.ejb.client.remoting.EndpointPool.safeClose(EndpointPool.java:281)

          at org.jboss.ejb.client.remoting.EndpointPool.shutdown(EndpointPool.java:111)

          - locked <0x000000041e248418> (a org.jboss.ejb.client.remoting.EndpointPool)

          at org.jboss.ejb.client.remoting.EndpointPool.access$500(EndpointPool.java:61)

          at org.jboss.ejb.client.remoting.EndpointPool$ShutdownTask.run(EndpointPool.java:301)

          at java.lang.Thread.run(Thread.java:722)

       

      "Remoting "client-endpoint" task-3" daemon prio=10 tid=0x00007f482408c800 nid=0x3440 in Object.wait() [0x00007f4793932000]

         java.lang.Thread.State: WAITING (on object monitor)

          at java.lang.Object.wait(Native Method)

          at java.lang.Object.wait(Object.java:503)

          at org.jboss.remoting3.spi.AbstractHandleableCloseable.close(AbstractHandleableCloseable.java:177)

          - locked <0x000000041e26e5c0> (a java.lang.Object)

          at org.jboss.ejb.client.remoting.ChannelAssociation$ResponseReceiver.handleEnd(ChannelAssociation.java:445)

          at org.jboss.remoting3.remote.RemoteConnectionChannel$2.run(RemoteConnectionChannel.java:277)

          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

          at java.lang.Thread.run(Thread.java:722)

       

      The application installed is running on EAP 6.1.0. Which is using jboss-remoting-3.2.16.GA-redhat-1.jar. Should I be using some configuration on the client/server side to allow the client remoting layer to shut down gracefully ?

       

      Regards,

      Jeremy