APAR status
Closed as program error.
Error description
A IBM MQ Queue Manager v8.0 is used to generate a CCDT file, which is then shared with an application which uses the WebSphere MQ classes for JMS v7.1. The application is unable to connect to the queue manager using this CCDT file. An exception is generated by the WebSphere MQ classes for JMS when attempting to create a JMS Connection from the ConnectionFactory which is configured to use the CCDT, with the following caused by stack: Caused by: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.ibm.mq.exits.MQCD.readFromBuffer(MQCD.java:4373) at com.ibm.mq.jmqi.system.internal.CCDT.processMQCDRecord(CCDT.java :648) ... 14 more When this exception is seen, the connection is not established with the queue manager.
Local fix
Generate the CCDT on a queue manager major version (version and release) which is less than or equal to the WebSphere MQ classes for JMS version.
Problem summary
**************************************************************** USERS AFFECTED: Users of WebSphere MQ classes for Java/JMS who are using a CCDT (Client Channel Definition Table) which was generated on a later (eg. version 8.0) queue manager with an earlier major version of the of the WebSphere MQ classes for Java/JMS (eg. version 7.0, 7.1 or 7.5). Platforms affected: AIX, HP-UX Itanium, HP-UX PA-RISC, IBM iSeries, Linux on Power, Linux on S390, Linux on x86, Linux on x86-64, Windows, Solaris x86-64, Solaris SPARC, Linux on zSeries, z/OS, MultiPlatform **************************************************************** PROBLEM DESCRIPTION: The algorithm which was used by the WebSphere MQ classes for Java/JMS was unable to correctly parse a CCDT file which was generated on a version 8 queue manager. The exact failure varied across product versions depending upon the content of the CCDT file. For example, a CCDT file generated on IBM MQ v8.0 and accessed by the WebSphere MQ classes for Java/JMS v7.0 may have appeared to show no problem when used to connect to the queue manager - even though some of the data contained within the CCDT has not been parsed correctly. The same CCDT file on WebSphere MQ classes for Java/JMS v7.1/v7.5 threw an exception when connecting to the queue manager. For example a stack from the v7.1.0.6 version of the JMS classes has an exception of the form: com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2020: Failed to connect to queue manager 'MY_QM' with connection mode 'Client' and supplied CCDT URL 'file:/tmp/AMQCLCHL.TAB', see linked exception for more information. Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information. at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException( Reason.java:580) at com.ibm.msg.client.wmq.common.internal.Reason.createException(Re ason.java:216) at com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.jav a:426) at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7Pr oviderConnection(WMQConnectionFactory.java:6770) at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProv iderConnection(WMQConnectionFactory.java:6152) at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConn ection(JmsConnectionFactoryImpl.java:285) at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConn ectionFactory.java:6126) at com.ibm.mq.jms.MQConnectionFactory.createConnection(MQConnection Factory.java:6155) ... ... Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2278' ('MQRC_CLIENT_CONN_ERROR'). at com.ibm.msg.client.wmq.common.internal.Reason.createException(Re ason.java:204) ... 8 more Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2278;AMQ9555: File format error. [3=file:/tmp/AMQCLCHL.TAB] at com.ibm.mq.jmqi.system.internal.CCDT.processMQCDRecord(CCDT.java :659) at com.ibm.mq.jmqi.system.internal.CCDT.parse(CCDT.java:441) at com.ibm.mq.jmqi.system.internal.CCDT.(CCDT.java:203) at com.ibm.mq.jmqi.remote.impl.RemoteCCDT.(RemoteCCDT.java:69) at com.ibm.mq.jmqi.remote.api.RemoteFAP.getCcdt(RemoteFAP.java:449) at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java: 1621) at com.ibm.mq.jmqi.remote.api.RemoteFAP.jmqiConnect(RemoteFAP.java: 1345) at com.ibm.msg.client.wmq.internal.WMQConnection.(WMQConnection.jav a:345) ... 7 more Caused by: java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.ibm.mq.exits.MQCD.readFromBuffer(MQCD.java:4373) at com.ibm.mq.jmqi.system.internal.CCDT.processMQCDRecord(CCDT.java :648) ... 14 more When this exception was thrown, the connection was not established with the queue manager.
Problem conclusion
The WebSphere MQ classes for Java/JMS was modified to update the algorithm which is used to parse the CCDT file. This allows earlier versions of the Java/JMS API to tolerate CCDT files generated on later version queue managers. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.0 7.0.1.14 v7.1 7.1.0.8 v7.5 7.5.0.6 v8.0 8.0.0.3 The latest available maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT10863
Reported component name
WMQ WINDOWS V7
Reported component ID
5724H7220
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-08-24
Closed date
2015-09-25
Last modified date
2015-09-25
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WMQ WINDOWS V7
Fixed component ID
5724H7220
Applicable component levels
R701 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
31 March 2023