[
https://issues.apache.org/jira/browse/ARTEMIS-1928?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
clebert suconic closed ARTEMIS-1928.
------------------------------------
Resolution: Fixed
> Message conversion on certain body types will cause NPE
> -------------------------------------------------------
>
> Key: ARTEMIS-1928
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1928
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: AMQP, Broker
> Affects Versions: 2.6.1
> Environment: * Broker Version: 2.6.1
> * Client: AMQPNetLite v2.1.2
> * Host OS: Linux node 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1
> (2018-05-07) x86_64 GNU/Linux
> * Host Platform: AWS EC2
> * broker.xml from node1 attached as node1-broker.xml
> * broker.xml from node2 attached as node2-broker.xml
> Reporter: Simon Chalmers
> Priority: Critical
> Fix For: 2.7.0, 2.6.3
>
> Attachments: node1-broker.xml, node2-broker.xml
>
>
>
> Steps to produce, using a producing application (running AMQPNetLite)
> connecting to node1 of the cluster:
> * Create queue1, publish 199 messages to it
> * Create queue2, publish 1 message to it
> Running a consuming application (AMQPNetLite) connecting to node2 of the
> cluster:
> * On node1 of the cluster, queue1 & queue2 now have 0 messages in it
> * On node2 of the cluster, queue1 has 200 messages in it and queue2 has 2
> messages in it (i.e. an additional message in each queue, even though the
> consuming application is not publishing any messages).
> * The consuming application connected to node2 of the cluster does not
> consume any messages off either queue1 or queue2 from node2 (of the cluster).
> In artemis.log on node2 of the cluster, the following appears:
> {noformat}
> 2018-06-13 02:41:00,604 WARN [org.apache.activemq.artemis.core.server]
> AMQ222151: removing consumer which did not handle a message,
> consumer=ServerConsumerImpl [id=1, filter=null, binding=LocalQueueBinding
> [address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>
> queue=QueueImpl[name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
> postOffice=PostOfficeImpl
> [server=ActiveMQServerImpl::serverUUID=f80e9286-6e9f-11e8-bd64-0204cf8299ac],
> temp=false]@50517445, filter=null,
> name=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
>
> clusterName=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-requestf80e9286-6e9f-11e8-bd64-0204cf8299ac]],
>
> message=Reference[117]:NON-RELIABLE:LargeServerMessage[messageID=117,durable=false,userID=null,priority=0,
> timestamp=0,expiration=0, durable=false,
> address=internal/queue.in/spatial-processing-service/440bfafe-76e5-4867-8b00-f1533d855549/0/update-terrain-request,
> properties=TypedProperties[_AMQ_LARGE_SIZE=330649]]@2025498374:
> java.lang.IllegalStateException: Can't deliver message
> java.lang.NullPointerException
> at
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.sendMessage(AMQPSessionCallback.java:652)
> [artemis-amqp-protocol-2.6.1.jar:]
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1106)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:464)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2934)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2402)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl.access$2000(QueueImpl.java:107)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3207)
> [artemis-server-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42)
> [artemis-commons-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31)
> [artemis-commons-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66)
> [artemis-commons-2.6.1.jar:2.6.1]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [rt.jar:1.8.0_171]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [rt.jar:1.8.0_171]
> at
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
> [artemis-commons-2.6.1.jar:2.6.1]
> Caused by: java.lang.NullPointerException
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessage.internalWritableBuffer(CoreMessage.java:360)
> [artemis-core-client-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.core.message.impl.CoreMessage.getBodyBuffer(CoreMessage.java:353)
> [artemis-core-client-2.6.1.jar:2.6.1]
> at
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.convertBody(CoreAmqpConverter.java:384)
> [artemis-amqp-protocol-2.6.1.jar:]
> at
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.fromCore(CoreAmqpConverter.java:126)
> [artemis-amqp-protocol-2.6.1.jar:]
> at
> org.apache.activemq.artemis.protocol.amqp.converter.CoreAmqpConverter.checkAMQP(CoreAmqpConverter.java:106)
> [artemis-amqp-protocol-2.6.1.jar:]
> at
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.deliverMessage(ProtonServerSenderContext.java:681)
> [artemis-amqp-protocol-2.6.1.jar:]
> at
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.sendMessage(AMQPSessionCallback.java:643)
> [artemis-amqp-protocol-2.6.1.jar:]
> ... 12 more
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)