Fixes are available
APAR status
Closed as program error.
Error description
A WebSphere MQ Java application running in a Java 7 Java Virtual Machine throws an IllegalArgumentException with the following stack: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java: at java.util.TimSort.mergeAt(TimSort.java: at java.util.TimSort.mergeForceCollapse(TimSort.java: at java.util.TimSort.sort(TimSort.java: at java.util.TimSort.sort(TimSort.java: at java.util.Arrays.sort(Arrays.java: at com.ibm.mq.constants.MQConstants.getFields(MQConstants. java:320)
Local fix
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of the WebSphere MQ classes for Java who are using any of the static "lookup" methods on the MQConstants class from an application running inside a Java 7 Java Virtual Machine. This issue also affects users running the WebSphere MQ Explorer or WebSphere MQ classes for PCF within a Java 7 Java Virtual Machine. Users of WebSphere Application Server v8 are also affected by this problem, if the application server has been configured to run in the Java 7 environment. One specific problem which has been reported with WAS 8 is that activation specifications do not automatically reconnect to the queue manager, in the even where the queue manager has been restarted. The above Java stack and error message is reported in the application server's SystemOut.log when this problem is encountered. Platforms affected: All Distributed (iSeries, all Unix and Windows) +Java +Java zOS **************************************************************** PROBLEM SUMMARY: The Java specification defines a general contract for comparison, such that for three objects (a, b, c), if a<b and b<c, this must imply that a<c. The MQConstant comparator did not honour this contract when comparing the values of MQConstants with different data types. At Java versions earlier than 7, the Java Virtual Machine took no action as a result of this. At Java 7, the Java Virtual Machine threw an IllegalArgumentException when the contract was violated.
Problem conclusion
The WebSpere MQ classes for Java have been modified, such that the comparator used for comparing MQConstant values always honours the general comparison contract, even if the values are of different data types. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: v7.0 Platform Fix Pack 7.0.1.10 -------- -------------------- Windows U200352 AIX U853055 HP-UX (PA-RISC) U853082 HP-UX (Itanium) U853087 Solaris (SPARC) U853083 Solaris (x86-64) U853089 iSeries 7.0.1.10 Linux (x86) U853084 Linux (x86-64) U853088 Linux (zSeries) U853085 Linux (Power) U853086 zOS 7.0.1.10 v7.1 Platform Fix Pack 7.1.0.3 -------- -------------------- Windows 7.1.0.3 AIX 7.1.0.3 HP-UX (Itanium) 7.1.0.3 Solaris (SPARC) 7.1.0.3 Solaris (x86-64) 7.1.0.3 iSeries 7.1.0.3 Linux (x86) 7.1.0.3 Linux (x86-64) 7.1.0.3 Linux (zSeries) 7.1.0.3 Linux (Power) 7.1.0.3 zOS 7.1.0.3 Platform v7.5 -------- -------------------- Multiplatforms 7.5.0.1 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
IC88187
Reported component name
WMQ WINDOWS V7
Reported component ID
5724H7220
Reported release
701
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2012-11-13
Closed date
2012-11-22
Last modified date
2013-03-12
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