Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3369

occasionally NPE in ActiveMQTextMessage.getSize()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 5.4.1
    • None
    • Broker
    • None
    • JDK 1.6 (64-bit), Windows Server 2008 x64

    Description

      Sometime we get NullPointerException when sending a text message. We use method send(destination, message) of interface javax.jms.MessageProducer.

      java.lang.NullPointerException
      at org.apache.activemq.command.ActiveMQTextMessage.getSize(ActiveMQTextMessage.java:148)
      at org.apache.activemq.ActiveMQSession.send(ActiveMQSession.java:1753)
      at org.apache.activemq.ActiveMQMessageProducer.send(ActiveMQMessageProducer.java:231)
      at org.apache.activemq.ActiveMQMessageProducerSupport.send(ActiveMQMessageProducerSupport.java:300)

      Caller code is:

      try {
      final TextMessage message = session.createTextMessage(msg);
      message.setJMSType(type);
      message.setJMSReplyTo(destination);
      message.setJMSCorrelationID(jmsMessageId);
      producer.send(destination, message);
      } catch (JMSException ex) {
      ...
      }

      I.e. we don't reuse or store the message being sent.

      We are also 100% sure that both session and its producer are used only from one thread at any point of time (we have custom session pool).

      Broker URI is vm://jboss-activemq-broker?jms.copyMessageOnSend=false&jms.objectMessageSerializationDefered=true&jms.useAsyncSend=true

      The NPE occurs occasionally, we were not able to reproduce it deterministically so far.

      Any suggestions on how to investigate this?

      Attachments

        Activity

          People

            Unassigned Unassigned
            ipechorin Ivan Pechorin
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: