APAR status
Closed as program error.
Error description
In IBM Explorer for z/OS Version 3.0.1.8 or IBM Developer for z Systems - IDz - v14.0.0.4, attempts to sort Remote System Details view by size result in error: Comparison method violates its general contract! this: org.eclipse.rse.internal.ui.view.SystemTableViewSorter comparator: java.text.RuleBasedCollator Steps to reproduce: 1- ensure that -Djava.util.Arrays.useLegacyMergeSort=true is not set in eclipse.ini 2- start IDz v14.0.0.4 (or zExplorer v3.0.1.8) 3- right-click on a MVS filter and select show in table 4- on Remote System details, click on the size column header to sort it by size 5- Observe that the table view is not sorted by size 6- Error log view or .log file shows error like: !ENTRY org.eclipse.jface 4 0 2017-05-03 00:59:16.021 !MESSAGE Workaround for comparator violation: - set system property java.util.Arrays.useLegacyMergeSort=true - use a 1.6 JRE message: Comparison method violates its general contract! this: org.eclipse.rse.internal.ui.view.SystemTableViewSorter comparator: java.text.RuleBasedCollator
Local fix
there is no known workaround at this time.
Problem summary
The comparison method is in violation of its general contract when two objects of different types are being compared. This occurs because some dataset properties come back to the sorter in the wrong format, as an emptry string or null (when a property isn't immediately available). This can result in an error message and incorrect sort order.
Problem conclusion
There are a couple issues. First, the properties that are being compared with each other are sometimes of different types. In the case of some dataset property values (such as size, primary, secondary, etc.) the sorter will complain when the types don't match. The unformatted property values that come back for the purposes of sorting, need to be consistent. There are some cases where the two values being compared are null - the table sorter needs to always treat those cases as equality. Additionally, because RSE uses a virtual table, the property values of non-visible rows aren't immediately available for sorting which can result in an incorrect initial sort.
Temporary fix
Comments
APAR Information
APAR number
PI81271
Reported component name
EXP FOR Z/OS CL
Reported component ID
5655EXP00
Reported release
301
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-05-09
Closed date
2017-06-29
Last modified date
2017-06-29
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
EXP FOR Z/OS CL
Fixed component ID
5655EXP00
Applicable component levels
R301 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSBDYH","label":"IBM Explorer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"301","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
29 June 2017