You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ivan Pechorin (JIRA)" <ji...@apache.org> on 2011/06/16 16:51:47 UTC
[jira] [Updated] (AMQ-3369) occasionally NPE in
ActiveMQTextMessage.getSize()
[ https://issues.apache.org/jira/browse/AMQ-3369?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ivan Pechorin updated AMQ-3369:
-------------------------------
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 from one thread only at any point of time (we have use a 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?
was:
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)
Relevant code snippet 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 from one thread only at any point of time (we have use a 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?
> occasionally NPE in ActiveMQTextMessage.getSize()
> -------------------------------------------------
>
> Key: AMQ-3369
> URL: https://issues.apache.org/jira/browse/AMQ-3369
> Project: ActiveMQ
> Issue Type: Bug
> Components: Broker
> Affects Versions: 5.4.1
> Environment: JDK 1.6 (64-bit), Windows Server 2008 x64
> Reporter: Ivan Pechorin
>
> 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 from one thread only at any point of time (we have use a 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?
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira