Uploaded image for project: 'AMQ Broker'
  1. AMQ Broker
  2. ENTMQBR-5428

[LTS] NPE on OpenWireConnection ln 837 resulting in thread contention

XMLWordPrintable

      A thread dump occurs at 2021-08-30 03:56:53,767.

      This thread dump shows that there are a number of BLOCKED threads attempting to add an Openwire connection to the hashmap of connections:

       

      "Thread-4 (activemq-netty-threads)" Id=67 BLOCKED on java.util.HashMap@99f5b16 owned by "Thread-17 (ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@1ed6388a)" Id=74
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireProtocolManager.addConnection(OpenWireProtocolManager.java:313)
      
      blocked on java.util.HashMap@99f5b16
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processAddConnection(OpenWireConnection.java:1140)
       at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:322)
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:295)
       [...] 

      This seems related to the NullPointerException logged continually prior to the thread dump:

      2021-08-30 03:56:21,165 WARN [org.apache.activemq.artemis.core.server] Errors occurred during the buffering operation : java.lang.NullPointerException
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.addDestination(OpenWireConnection.java:837) [artemis-openwire-protocol-2.16.0.redhat-00007.jar:2.16.0.redhat-00007]
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection$CommandProcessor.processAddProducer(OpenWireConnection.java:1187) [artemis-openwire-protocol-2.16.0.redhat-00007.jar:2.16.0.redhat-00007]
       at org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:108) [activemq-all-5.14.3.jar:5.14.3]
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.act(OpenWireConnection.java:322) [artemis-openwire-protocol-2.16.0.redhat-00007.jar:2.16.0.redhat-00007]
       at org.apache.activemq.artemis.core.protocol.openwire.OpenWireConnection.bufferReceived(OpenWireConnection.java:295) [artemis-openwire-protocol-2.16.0.redhat-00007.jar:2.16.0.redhat-00007]
       [...]

      AMQ broker becomes unresponsive nightly, stopped accepting connections and eventually crashed.

            csuconic@redhat.com Clebert Suconic
            rdorobek@redhat.com Russell Dorobek
            Roman Vais Roman Vais
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: