|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
WMQ MQConnectionBrowser throwing NPE on JBoss 5.1 |
« View previous topic :: View next topic » |
Author |
Message
|
no_exit |
Posted: Wed Oct 06, 2010 12:35 pm Post subject: WMQ MQConnectionBrowser throwing NPE on JBoss 5.1 |
|
|
Newbie
Joined: 06 Oct 2010 Posts: 2
|
I have an interesting issue where the MQConnectionBrowser.pubSubSetup method is throwing an NPE when a inbound Topic
is being initialized.
The environment is WMQ rar 6.02 running on JBoss 5.1 in an AIX
This NPE is not thrown using the same configuration, except on a Windows XP machine.
The application had five queues and one topic. THe queues are fine. However when the topic is initialized, things go
wrong.
Here is the stacktrace with a root cause of NPE in pubSubSetup():
Code: |
010-10-06 11:10:05,184 DEBUG [org.jboss.resource.connectionmanager.CachedConnectionInterceptor] (main) start called in
CachedConnectionInterceptor
2010-10-06 11:10:05,184 DEBUG [org.jboss.system.ServiceController] (main) starting service
jboss.j2ee:service=EJB,plugin=invoker,binding=message-inflow-driven-bean,jndiName=local/CommonTopicReceiver@379393693
2010-10-06 11:10:05,184 DEBUG [org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory] (main) Starting
jboss.j2ee:service=EJB,plugin=invoker,binding=message-inflow-driven-bean,jndiName=local/CommonTopicReceiver@379393693
2010-10-06 11:10:05,307 DEBUG [org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory] (main) Starting failed
jboss.j2ee:service=EJB,plugin=invoker,binding=message-inflow-driven-bean,jndiName=local/CommonTopicReceiver@379393693
org.jboss.deployment.DeploymentException: Endpoint activation failed
ra=jboss.jca:service=RARDeployment,name='wmq.jmsra.rar'
activationSpec=javax.jms.Topic:jms/ExtCacheTopic@WMQC05@quesvc848
at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:52)
at org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory.activate(JBossMessageEndpointFactory.java:529)
Caused by:
java.lang.NullPointerException
at com.ibm.mq.jms.MQConnectionBrowser.pubSubSetup(MQConnectionBrowser.java:410)
at com.ibm.mq.jms.MQConnectionBrowser.MQConnectionBrowserInit(MQConnectionBrowser.java:298)
at com.ibm.mq.jms.MQConnectionBrowser.<init>(MQConnectionBrowser.java:132)
at com.ibm.mq.jms.MQConnection.createConnectionBrowser(MQConnection.java:4070)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:459)
at com.ibm.mq.jms.MQConnectionConsumer.<init>(MQConnectionConsumer.java:364)
at com.ibm.mq.jms.MQConnection.createConnectionConsumer(MQConnection.java:3626)
at com.ibm.mq.jms.MQConnection.createConnectionConsumer(MQConnection.java:3554)
at
com.ibm.mq.connector.inbound.MessageEndpointDeployment.createConnectionConsumer(MessageEndpointDeployment.java:288)
at com.ibm.mq.connector.inbound.MessageEndpointDeployment.start(MessageEndpointDeployment.java:218)
at com.ibm.mq.connector.inbound.MessageEndpointDeployment.<init>(MessageEndpointDeployment.java:188)
at com.ibm.mq.connector.ResourceAdapterImpl.endpointActivation(ResourceAdapterImpl.java:379)
at org.jboss.resource.deployers.RARDeployment.endpointActivation(RARDeployment.java:330)
at org.jboss.resource.deployers.RARDeployment.internalInvoke(RARDeployment.java:284)
at org.jboss.system.ServiceDynamicMBeanSupport.invoke(ServiceDynamicMBeanSupport.java:156)
at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
at org.jboss.ejb.plugins.inflow.JBossMessageEndpointFactory.activate(JBossMessageEndpointFactory.java:524) |
I have enabled WMQ tracing and also set the DMQJMS_TRACE_LEVEL to base. There is nothing in any of the log or trace
files that would indicate the cause of the NPE.
I know that one of you MQ experts must have some sort of idea what could be causing this or where I could go for
additional assistance.
If any additional information is needed, please feel free to ask. Like I said, I have a lot of information in log and trace files.
Last edited by no_exit on Wed Oct 06, 2010 1:28 pm; edited 1 time in total |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 06, 2010 12:39 pm Post subject: Re: WMQ MQConnectionBrowser throwing NPE on JBoss 5.1 |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
no_exit wrote: |
I know that one of you MQ experts must have some sort of idea what could be causing this or where I could go for additional assistance. |
2 tips:
1) If you're posting code, log or trace use "code" tags; makes it much eaiser to read.
2) Typically there's a linked exception out of the WMQ layer that contains the WMQ reason code. This is usually more illuminating than the generic error. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
no_exit |
Posted: Wed Oct 06, 2010 1:54 pm Post subject: |
|
|
Newbie
Joined: 06 Oct 2010 Posts: 2
|
Thanks for the tips. I cleanup up the first post.
In regards to linked exception, in the mqjms.trc file, there are a few items prior to the exception being displayed in the server log:
Code: |
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQOD@fc00fc0 ==> MQOD constructor() entry
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 ==> MQException constructor(cc, rc, source)() entry
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQOD@fc00fc0 @(#) javabase/com/ibm/mq/MQOD.java, java, j600, j600-208-090730 1.28.1.6 07/11/15 14:14:06
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 @(#) javabase/com/ibm/mq/MQException.java, java, j600, j600-209-100121 1.83.1.10 09/10/06 12:30:55
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQOD@fc00fc0 <== MQOD constructor() exit
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 cc = 2
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQSPIQueue@506c506c ==> MQManagedObject constructor() entry
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 rc = 2033
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQSPIQueue@506c506c @(#) javabase/com/ibm/mq/MQManagedObject.java, java, j600, j600-208-090730 1.32.1.2 07/11/15 14:14:00
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 source = com.ibm.mq.MQSPIQueue@3e263e26
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQSPIQueue@506c506c <== MQManagedObject constructor() exit
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 <== MQException constructor() exit
[05/10/2010 16:03:52:75 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQSPIQueue@506c506c ==> MQQueue default constructor() entry
[05/10/2010 16:03:52:75 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQSPIQueueManager@e0a0e0a ==> errorOccurred() entry |
Code: |
[05/10/2010 16:03:52:113 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 ==> MQException constructor(cc, rc, source)() entry
[05/10/2010 16:03:52:113 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 ==> receive() entry
[05/10/2010 16:03:52:113 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 @(#) javabase/com/ibm/mq/MQException.java, java, j600, j600-209-100121 1.83.1.10 09/10/06 12:30:55
[05/10/2010 16:03:52:113 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 ==> receiveBytesFaster() entry
[05/10/2010 16:03:52:113 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 cc = 2
[05/10/2010 16:03:52:113 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 Waiting for data on input stream.
[05/10/2010 16:03:52:113 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 rc = 2033
[05/10/2010 16:03:52:113 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 ==> timedReadInt() entry
[05/10/2010 16:03:52:113 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 source = com.ibm.mq.MQSPIQueue@6fa06fa
[05/10/2010 16:03:52:114 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 timeout = 360000
[05/10/2010 16:03:52:114 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQException: MQJE001: Completion Code 2, Reason 2033 <== MQException constructor() exit
[05/10/2010 16:03:52:114 CDT] Thread: statusMgrConnection0, Object: com.ibm.mq.MQSPIQueueManager@e0a0e0a ==> errorOccurred() entry
|
and this is a little after the exception in the server log:
Code: |
[05/10/2010 16:03:52:142 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQException: MQJE001: Completion Code 1, Reason 2079 ==> MQException constructor(cc, rc, source)() entry
[05/10/2010 16:03:52:142 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 Message data follows:
[05/10/2010 16:03:52:142 CDT] Thread: Cleanup(WMQC05:quesvc848:1922), Object: com.ibm.mq.MQException: MQJE001: Completion Code 1, Reason 2079 @(#) javabase/com/ibm/mq/MQException.java, java, j600, j600-209-100121 1.83.1.10 09/10/06 12:30:55
[05/10/2010 16:03:52:142 CDT] Thread: main, Object: com.ibm.mq.MQv6InternalCommunications@35d435d4 Data trace, 468 bytes of data follow:
|
As for the wmq_jca.trc file, there is nothing that looks out of sorts around that time. |
|
Back to top |
|
 |
exerk |
Posted: Wed Oct 06, 2010 2:00 pm Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
A couple of fish for you...
Quote: |
Reason Code 2033 x'7F1'
MQRC_NO_MSG_AVAILABLE
An MQGET call was issued, but there is no message on the queue satisfying the selection criteria specified in MQMD (the MsgId and CorrelId fields), and in MQGMO (the Options and MatchOptions fields). Either the MQGMO_WAIT option was not specified, or the time interval specified by the WaitInterval field in MQGMO has expired. This reason is also returned for an MQGET call for browse, when the end of the queue has been reached.
This reason code can also be returned by the mqGetBag and mqExecute calls.
mqGetBag is similar to MQGET. For the mqExecute call, the completion code can be either MQCC_WARNING or MQCC_FAILED:
* If the completion code is MQCC_WARNING, some response messages were received during the specified wait interval, but not all. The response bag contains system-generated nested bags for the messages that were received.
* If the completion code is MQCC_FAILED, no response messages were received during the specified wait interval.
Completion Code: MQCC_WARNING or MQCC_FAILED
Programmer response: If this is an expected condition, no corrective action is required.
If this is an unexpected condition, check that:
* The message was put on the queue successfully.
* The unit of work (if any) used for the MQPUT or MQPUT1 call was committed successfully.
* The options controlling the selection criteria are specified correctly. All of the following can affect the eligibility of a message for return on the MQGET call:
* MQGMO_LOGICAL_ORDER
* MQGMO_ALL_MSGS_AVAILABLE
* MQGMO_ALL_SEGMENTS_AVAILABLE
* MQGMO_COMPLETE_MSG
* MQMO_MATCH_MSG_ID
* MQMO_MATCH_CORREL_ID
* MQMO_MATCH_GROUP_ID
* MQMO_MATCH_MSG_SEQ_NUMBER
* MQMO_MATCH_OFFSET
* Value of MsgId field in MQMD
* Value of CorrelId field in MQMD
Consider waiting longer for the message. |
Quote: |
Reason Code 2079 x'81F'
MQRC_TRUNCATED_MSG_ACCEPTED
On an MQGET call, the message length was too large to fit into the supplied buffer. The MQGMO_ACCEPT_TRUNCATED_MSG option was specified, so the call completes. The message is removed from the queue (subject to unit-of-work considerations), or, if this was a browse operation, the browse cursor is advanced to this message.
The DataLength parameter is set to the length of the message before truncation, the Buffer parameter contains as much of the message as fits, and the MQMD structure is filled in.
Completion Code: MQCC_WARNING
Programmer response: None, because the application expected this situation. |
_________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|