[ 
https://issues.apache.org/jira/browse/AMQ-6998?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joseph Zhang updated AMQ-6998:
------------------------------
    Description: 
After updating from 5.14.0 to 5.15.3, we are seeing 
ArrayIndexOutOfBoundsException in ActiveMQ logs like this:
{noformat}
2018-05-26 16:01:09,568 | WARN | Async error occurred: 
java.lang.ArrayIndexOutOfBoundsException: 0 | 
org.apache.activemq.broker.TransportConnection.Service | ActiveMQ Transport: 
tcp://<broker-b>/<broker-b's ip>:61616@42320
2018-05-26 15:15:38,218 | INFO | Network connection between 
vm://<broker-a>#1068 and tcp://<broker-b>/<broker-b's ip>:61616@45338 shutdown 
due to a local error: {} | 
org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ Transport: 
tcp://<broker-b>/<broker-b's ip>:61616@45338
java.lang.ArrayIndexOutOfBoundsException: 0
        at 
org.apache.activemq.broker.region.virtual.MappedQueueFilter.addSubscription(MappedQueueFilter.java:62)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.AbstractRegion.addSubscriptionsForDestination(AbstractRegion.java:244)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:162)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:339)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:242)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.AbstractRegion.lookup(AbstractRegion.java:555)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:342)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:418)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:131)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:697)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:352)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:165)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:157)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:134)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport.addSubscription(DemandForwardingBridgeSupport.java:1151)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport.addConsumerInfo(DemandForwardingBridgeSupport.java:1447)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteConsumerAdvisory(DemandForwardingBridgeSupport.java:975)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteCommand(DemandForwardingBridgeSupport.java:743)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.network.DemandForwardingBridgeSupport$3.onCommand(DemandForwardingBridgeSupport.java:238)[activemq-broker-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)[activemq-client-5.15.3.jar:5.15.3]
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[activemq-client-5.15.3.jar:5.15.3]
        at java.lang.Thread.run(Thread.java:748)[:1.8.0_172]
{noformat}

It's breaking the networkbridge connections between brokers, making them unable 
to forward message.

  was:
After updating from 5.14.0 to 5.15.3, we are seeing 
ArrayIndexOutOfBoundsException in ActiveMQ logs like this:
{noformat}
2018-05-26 16:01:09,568 | WARN | Async error occurred: 
java.lang.ArrayIndexOutOfBoundsException: 0 | 
org.apache.activemq.broker.TransportConnection.Service | ActiveMQ Transport: 
tcp://<broker-b>/<broker-b's ip>:61616@42320
2018-05-26 15:15:38,218 | INFO | Network connection between 
vm://<broker-a>#1068 and tcp://<broker-b>/<broker-b's ip>:61616@45338 shutdown 
due to a local error: {} | 
org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ Transport: 
tcp://<broker-b>/<broker-b's ip>:61616@45338 
java.lang.ArrayIndexOutOfBoundsException: 0 at 
org.apache.activemq.broker.region.virtual.MappedQueueFilter.addSubscription(MappedQueueFilter.java:62)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.region.AbstractRegion.addSubscriptionsForDestination(AbstractRegion.java:244)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:162)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:339)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:242)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.region.RegionBroker.send(RegionBroker.java:454)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.jmx.ManagedRegionBroker.send(ManagedRegionBroker.java:293)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.CompositeDestinationBroker.send(CompositeDestinationBroker.java:96)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.TransactionBroker.send(TransactionBroker.java:293)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.BrokerFilter.send(BrokerFilter.java:154)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.TransportConnection.processMessage(TransportConnection.java:572)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.command.ActiveMQMessage.visit(ActiveMQMessage.java:768)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194)[activemq-broker-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)[activemq-client-5.15.3.jar:5.15.3]
 at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[activemq-client-5.15.3.jar:5.15.3]
 at java.lang.Thread.run(Thread.java:748)[:1.8.0_172]
{noformat}

It's breaking the networkbridge connections between brokers, making them unable 
to forward message.


> ArrayIndexOutOfBoundsException on Network of Brokers
> ----------------------------------------------------
>
>                 Key: AMQ-6998
>                 URL: https://issues.apache.org/jira/browse/AMQ-6998
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker, networkbridge
>    Affects Versions: 5.15.3
>            Reporter: Joseph Zhang
>            Priority: Major
>
> After updating from 5.14.0 to 5.15.3, we are seeing 
> ArrayIndexOutOfBoundsException in ActiveMQ logs like this:
> {noformat}
> 2018-05-26 16:01:09,568 | WARN | Async error occurred: 
> java.lang.ArrayIndexOutOfBoundsException: 0 | 
> org.apache.activemq.broker.TransportConnection.Service | ActiveMQ Transport: 
> tcp://<broker-b>/<broker-b's ip>:61616@42320
> 2018-05-26 15:15:38,218 | INFO | Network connection between 
> vm://<broker-a>#1068 and tcp://<broker-b>/<broker-b's ip>:61616@45338 
> shutdown due to a local error: {} | 
> org.apache.activemq.network.DemandForwardingBridgeSupport | ActiveMQ 
> Transport: tcp://<broker-b>/<broker-b's ip>:61616@45338
> java.lang.ArrayIndexOutOfBoundsException: 0
>       at 
> org.apache.activemq.broker.region.virtual.MappedQueueFilter.addSubscription(MappedQueueFilter.java:62)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.AbstractRegion.addSubscriptionsForDestination(AbstractRegion.java:244)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.AbstractRegion.addDestination(AbstractRegion.java:162)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.RegionBroker.addDestination(RegionBroker.java:339)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.advisory.AdvisoryBroker.addDestination(AdvisoryBroker.java:242)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addDestination(BrokerFilter.java:174)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.AbstractRegion.lookup(AbstractRegion.java:555)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:342)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:418)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.jmx.ManagedRegionBroker.addConsumer(ManagedRegionBroker.java:240)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:131)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:104)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:697)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:352)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:330)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:194)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.vm.VMTransport.doDispatch(VMTransport.java:165)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.vm.VMTransport.dispatch(VMTransport.java:157)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:134)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:68)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.addSubscription(DemandForwardingBridgeSupport.java:1151)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.addConsumerInfo(DemandForwardingBridgeSupport.java:1447)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteConsumerAdvisory(DemandForwardingBridgeSupport.java:975)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport.serviceRemoteCommand(DemandForwardingBridgeSupport.java:743)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.network.DemandForwardingBridgeSupport$3.onCommand(DemandForwardingBridgeSupport.java:238)[activemq-broker-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:116)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:125)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:301)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:233)[activemq-client-5.15.3.jar:5.15.3]
>       at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215)[activemq-client-5.15.3.jar:5.15.3]
>       at java.lang.Thread.run(Thread.java:748)[:1.8.0_172]
> {noformat}
> It's breaking the networkbridge connections between brokers, making them 
> unable to forward message.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to