[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16287800#comment-16287800 ] AWETTT commented on ARTEMIS-1542: - Oh, I missed that :-) Thanks > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Fix For: 2.5.0 > > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16287792#comment-16287792 ] Todd Baert commented on ARTEMIS-1542: - [~AWETTT] - not sure, but I think only you can close it ;) > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16287540#comment-16287540 ] AWETTT commented on ARTEMIS-1542: - Yes, it can be closed. Thanks! > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16287464#comment-16287464 ] Todd Baert commented on ARTEMIS-1542: - [~AWETTT] Great! I think we can close the JIRA as fixed then? > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16287273#comment-16287273 ] AWETTT commented on ARTEMIS-1542: - Now it works in my tests, as well. Thank you very much for fixing this. I am happy :-) > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286286#comment-16286286 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert during my merge, I added an example... on that example.. I reverted your fix by accident... I didn't mean to setNull... sorry about that. I will merge your PR as that should fix it. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286299#comment-16286299 ] ASF subversion and git services commented on ARTEMIS-1542: -- Commit 4ab664f796c0c6648a8fe55f58d54cc62b0d849d in activemq-artemis's branch refs/heads/master from todd [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=4ab664f ] ARTEMIS-1542 - AMQP message cluster-bridging fixi Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286284#comment-16286284 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 I'm not sure I understand what you're referring to. Anyway, I hope that you can merge https://github.com/apache/activemq-artemis/pull/1702, as it is the main problem. If you have any concerns, let me know and I'll help however I can. You can produce the issue with my configuration and sample c# client on my original JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1549 :smiley: > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286323#comment-16286323 ] Todd Baert commented on ARTEMIS-1542: - [~AWETTT] the cluster bridge is working for me with latest snapshot. Can you confirm your issue is resolved? > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286503#comment-16286503 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 Lol, very sorry. Typing too fast, out of excitement! Thank YOU, @clebertsuconic :) > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20)
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286499#comment-16286499 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 @toddbaert clambertus? :) > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00",
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286472#comment-16286472 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 @clambertus :guitar: Opensource :guitar: Thanks so much for your help! I've tested and all seems well now. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 ->
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286423#comment-16286423 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 @toddbaert just for future reference, as I told you on #1701 I made a mistake a reverted your fix by accident. this PR is fixing my accidental revert... it should be done now.. thanks for contributing!!! Opensource rocks! > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286301#comment-16286301 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1702 > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286287#comment-16286287 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @clebertsuconic a OK, I understand now. Thanks! > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286296#comment-16286296 ] Todd Baert commented on ARTEMIS-1542: - [~AWETTT] Yes, there was an error with Clebert's merge, and the primary part of the fix was missed. He is sorting it out. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0,
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286273#comment-16286273 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert it was an accident.. didn't mean it. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286267#comment-16286267 ] AWETTT commented on ARTEMIS-1542: - I tested with the current version and it is still not working with my test. But I get a different error, now: 2017-12-11 18:06:16,780 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: Caught exception: ActiveMQIllegalStateException[errorType=ILLEGAL_STATE message=AMQ119029: No address configured on the Server''s Session] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1393) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1327) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1320) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:661) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:264) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286243#comment-16286243 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @clebertsuconic you also did not commit my proposed change to ClusterConnectionBridge.java, which is the heart of our issue. https://github.com/apache/activemq-artemis/pull/1702 > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286215#comment-16286215 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert O... @#$@$!@@! (bad word goes here)... I screwed up... I had a debug thingy that I committed as part of this > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286192#comment-16286192 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 I am still seeing the issue. With the changes in this PR, the issue is resolved. Can you please look at the diff? - messageCopy = super.beforeForward(messageCopy, null); + messageCopy = super.beforeForward(messageCopy, forwardingAddress); Why would we want to call super.beforeForward() with a null second arg? This is the source of the problem. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286153#comment-16286153 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 The address wasn’t set at the producer. The address would be reset at the target. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20)
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286133#comment-16286133 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1702 @clebertsuconic @michaelandrepearce in ClusterConnectionBridge.beforeForward(Message message, SimpleString forwardingAddress), we call super.beforeForward(message, null). The is why we lose the address. This code path is executed when broker1 forwards an AMQP message to broker2. This is why we will only see this in a cluster, when a producer sends a message to broker1 and a consumer is listening on broker2. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286132#comment-16286132 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @clebertsuconic @michaelandrepearce Guys - please see my messages above. The primary issue is that the forwarding address is set to null, as I described.. I was in the middle of an interactive rebase when you attempted to merge (which I've now completed). New PR is here: https://github.com/apache/activemq-artemis/pull/1702. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286127#comment-16286127 ] Todd Baert commented on ARTEMIS-1542: - @clebertsuconic I don't think you've address the issue. The address is set to null BY broker1 when it forwards the message to broker2. Please see ClusterConnectionBridge.beforeForward(Message message, SimpleString forwardingAddress), it call super.beforeForward(message, null), regardless of the forwarding message in the original call. [~AWETTT] I've opening another PR. https://github.com/apache/activemq-artemis/pull/1702 > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286122#comment-16286122 ] ASF GitHub Bot commented on ARTEMIS-1542: - GitHub user toddbaert opened a pull request: https://github.com/apache/activemq-artemis/pull/1702 ARTEMIS-1542 - AMQP message cluster-bridging fixi Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. You can merge this pull request into a Git repository by running: $ git pull https://github.com/toddbaert/activemq-artemis master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1702.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1702 commit 61499244412c069c29a6fb093c9780368e1bdc15 Author: toddDate: 2017-12-11T16:17:57Z ARTEMIS-1542 - AMQP message cluster-bridging fixi Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286104#comment-16286104 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @clebertsuconic I don't think you've address the issue. The address is set to null BY broker1 when it forwards the message to broker2. Please see ClusterConnectionBridge.beforeForward(Message message, SimpleString forwardingAddress), it call super.beforeForward(message, null), regardless of the forwarding message in the original call. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286102#comment-16286102 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert that was a problem only if message.address was null.. I didn't think a cpp producer would leave it null... it should be fixed now. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286100#comment-16286100 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @clebertsuconic @michaelandrepearce The problem seems to me to be pretty simple: in ClusterConnectionBridge.beforeForward(Message message, SimpleString forwardingAddress), we call super.beforeForward(message, **null**). The is why we lose the address. This code path is executed when broker1 forwards an AMQP message to broker2. This is why we will only see this in a cluster, when a producer sends a message to broker1 and a consumer is listening on broker2. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286093#comment-16286093 ] ASF subversion and git services commented on ARTEMIS-1542: -- Commit fcfa4a5e636f34220434998ee7174e8f2086a43d in activemq-artemis's branch refs/heads/master from [~toddbaert] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=fcfa4a5 ] ARTEMIS-1542 - AMQP message cluster-bridging fix Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}'
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286096#comment-16286096 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert thanks a lot.. merged it manually. let me know what you think. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0,
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286095#comment-16286095 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1701 > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286094#comment-16286094 ] ASF subversion and git services commented on ARTEMIS-1542: -- Commit 9c4b715aed1f624e8429674c34793a454cf1bc06 in activemq-artemis's branch refs/heads/master from Clebert Suconic [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=9c4b715 ] ARTEMIS-1542 adding example to replicate clustered issue with AMQP and CPP clients > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286089#comment-16286089 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 hmmm.. you've made some mess of your branch here.. I can't merge it... I have an older version.. where I added an example based on yours... I will merge that one... leave it with me > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286090#comment-16286090 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert leave this with me... merging it now > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286026#comment-16286026 ] AWETTT commented on ARTEMIS-1542: - I tried non clustered and there everything worked fine. I only happens clustered. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286009#comment-16286009 ] clebert suconic commented on ARTEMIS-1542: -- Ignore me.. this is about clustering... just confirm if you tried non clustered. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16286008#comment-16286008 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @michaelandrepearce you need a producer and have a meessage with destination == null to make this happen. the AMQP JMS client will set the destination on the producer.. what won't happen through the C++ client. You would need to run the test with a C++ client. The best would probably be to have an AMQP Example with clustered messages. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285992#comment-16285992 ] clebert suconic commented on ARTEMIS-1542: -- I mean.. this issue only happen through clustering, correct? > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285991#comment-16285991 ] clebert suconic commented on ARTEMIS-1542: -- do you need clustering to reproduce this issue? > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285847#comment-16285847 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @michaelandrepearce I'll add a test case and consolidate the commits. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0,
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285653#comment-16285653 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 @toddbaert is there a test case for this to be added, to both prove fix, and avoid future regression? Also could you squash up your commits into one, once test is added. Thanks. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285069#comment-16285069 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 Added fix for ambiguous method call to setAddress(null), and checkstyles. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0,
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285061#comment-16285061 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user toddbaert commented on the issue: https://github.com/apache/activemq-artemis/pull/1701 Yes, looking again, I think you're right. I think the primary issue was the null argument to the beforeForward() call though. I've updated the PR. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285058#comment-16285058 ] ASF GitHub Bot commented on ARTEMIS-1542: - Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1701#discussion_r155936916 --- Diff: artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/broker/AMQPMessage.java --- @@ -608,7 +608,11 @@ public AMQPMessage setAddress(String address) { @Override public AMQPMessage setAddress(SimpleString address) { - return setAddress(address.toString()); + if (address != null) { +return setAddress(address.toString()); + } else { +return null; --- End diff -- shouldn't this be: return setAddress(null); > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16285001#comment-16285001 ] Todd Baert commented on ARTEMIS-1542: - [~jbertram] [~clebertsuconic] See above - I've submitted a PR that fixes this issue. I am now about to push AMQP messages to broker1, and consume from broker2. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16284999#comment-16284999 ] ASF GitHub Bot commented on ARTEMIS-1542: - GitHub user toddbaert opened a pull request: https://github.com/apache/activemq-artemis/pull/1701 ARTEMIS-1542 - AMQP message cluster-bridging fix Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. You can merge this pull request into a Git repository by running: $ git pull https://github.com/toddbaert/activemq-artemis master Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1701.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1701 commit 004e42e7cbf915e2855121a42f54c652d0b973c9 Author: Todd BaertDate: 2017-12-09T20:50:52Z ARTEMIS-1542 - AMQP message cluster-bridging fix Fixing and issue where AMQP messages would lose their address when being sent accross a cluster-bridge. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16284933#comment-16284933 ] Todd Baert commented on ARTEMIS-1542: - [~clebertsuconic] I've confirmed this issue exists with the latest snapshot,as you requested in the other JIRA: {code:none} 2017-12-09 13:29:58,498 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: Caught exception: java.lang.NullPointerException at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:611) [artemis-amqp-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) [artemis-amqp-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1384) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1327) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1320) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:661) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:264) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_144] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_144] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_144] {code} > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16284764#comment-16284764 ] Todd Baert commented on ARTEMIS-1542: - I just opened an issue similar to this, the only difference in my case is I'm using the c# client... https://issues.apache.org/jira/plugins/servlet/mobile#issue/ARTEMIS-1549 I'm wondering if the underlying problem that the address is null when the amqp message is wrapped in a CORE message to traverse the bridge? > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package > Also tested and reproducable with the attached program send-test.cpp (based > on qpid proton) >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16283531#comment-16283531 ] AWETTT commented on ARTEMIS-1542: - I managed to compile the current snapshot 2.5.0 and the bug is also reproducable. andreas:/home/andreas >/home/andreas/brokers/artemis/broker2-config25/bin/artemis run __ _ / \ | |_ ___ __ __(_) _ / _ \| _ \ __|/ _ \ \/ | |/ __/ / ___ \ | \/ |_/ __/ |\/| | |\___ \ /_/ \_\| \__\|_| |_|_|/___ / Apache ActiveMQ Artemis 2.5.0-SNAPSHOT 2017-12-08 14:45:30,738 INFO [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting ActiveMQ Artemis Server 2017-12-08 14:45:30,804 INFO [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is starting with configuration .. [ deleted some lines for readability ] ... [hawtio:type=security,area=jmx,rank=0,name=HawtioDummyJMXSecurity] for role based access control 2017-12-08 14:45:33,497 INFO [io.hawt.system.ProxyWhitelist] Initial proxy whitelist: [localhost, 127.0.0.1, 10.0.2.15, 10.43.4.239, andreas-VirtualBox.dev.quo] 2017-12-08 14:45:33,803 INFO [org.apache.activemq.artemis] AMQ241001: HTTP Server started at http://localhost:8161 2017-12-08 14:45:33,804 INFO [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at http://localhost:8161/console/jolokia 2017-12-08 14:45:33,804 INFO [org.apache.activemq.artemis] AMQ241004: Artemis Console available at http://localhost:8161/console 2017-12-08 14:46:39,790 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: Caught exception: java.lang.NullPointerException at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) [artemis-amqp-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) [artemis-amqp-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1384) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1327) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1320) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:661) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:264) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_151] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_151] at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package >Reporter: AWETTT > Attachments: send-test.cpp > > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16283230#comment-16283230 ] AWETTT commented on ARTEMIS-1542: - Clebert, I saw your presentation about Artemis on Youtube. You mentioned a cpp client for AMQP tests. I could use this one for retest. Could you tell me which one you are using? I have a Qpid cpp installation on my environment. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package >Reporter: AWETTT > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16283203#comment-16283203 ] AWETTT commented on ARTEMIS-1542: - Yes, sure I can try master. Where do I find it. I need a compiled package because I have no Java Dev Environment. It is strange, that it is null. When I send the message through ONE broker everything works fine. The bug only occurs in a cluster with more than one brokers. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package >Reporter: AWETTT > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0,
[jira] [Commented] (ARTEMIS-1542) AMQPMessage can throw / not check for null
[ https://issues.apache.org/jira/browse/ARTEMIS-1542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16282201#comment-16282201 ] clebert suconic commented on ARTEMIS-1542: -- Can you try snapshot in master? if you still see an issue.. we need a way to replicate this... as part of raising the issue we need a replicator.. otherwise there's no way to validate it or to fix it. > AMQPMessage can throw / not check for null > -- > > Key: ARTEMIS-1542 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1542 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: AMQP, Broker >Affects Versions: 2.4.0 > Environment: Linux Ubuntu 16.04 LTS > ActiveMQ Artemis 2.4.0 > Tested with qpid-python clients from qpid-cpp-1.36.0 package >Reporter: AWETTT > > I built active/active cluster with two brokers > A message was sent to a queue using AMQP 1.0 to broker1. A client at broker2 > tried to read it. > But broker2 throws an exception and the message is not sent to the client: > {noformat} > 09:34:53,146 ERROR [org.apache.activemq.artemis.core.server] AMQ224016: > Caught exception: java.lang.NullPointerException > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:612) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.setAddress(AMQPMessage.java:63) > [artemis-amqp-protocol-2.4.0.jar:] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1368) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1311) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1304) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onSessionSend(ServerSessionPacketHandler.java:690) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.core.protocol.core.ServerSessionPacketHandler.onMessagePacket(ServerSessionPacketHandler.java:290) > [artemis-server-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:33) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) > [artemis-commons-2.4.0.jar:2.4.0] > at > org.apache.activemq.artemis.utils.actors.ProcessorBase$ExecutorTask.run(ProcessorBase.java:53) > [artemis-commons-2.4.0.jar:2.4.0] > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > [rt.jar:1.8.0_151] > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > [rt.jar:1.8.0_151] > at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151] > {noformat} > *The queue is not created on the fly but configured in the brokers, both > brokers have this config:* > {noformat} > > > awe.test.queue > true > > > {noformat} > *The cluster configuration is pretty much copied from the examples:* > {noformat} > > > > ${udp-address:231.7.7.7} > 9876 > 100 > netty-connector > > > > > ${udp-address:231.7.7.7} > 9876 > 1 > > > > > netty-connector > 500 > true > STRICT > 1 > > > > > > > >100 >-1 > > 2000 >1 >true > > true > > > true > > > > > {noformat} > *qpid-send and qpid-receive were used as test clients. Sending is done like:* > {noformat} > qpid-send -b localhost:9800 -a awe.test.queue > '--connection-option={protocol:amqp1.0}' --content-string 'test message Do 7. > Dez 09:31:51 CET 2017' --durable=yes > {noformat} > +Grabbed the message from the logfile. It looks like this:+ > {noformat} > 0 -> @transfer(20) [handle=0, delivery-id=0, > delivery-tag=b"\x00\x00\x00\x00", message-format=0, settled=false, > more=false] > (79) >