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
PI81273
Reported component name
DEV FOR Z SYS
Reported component ID
5724T0700
Reported release
E00
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-05-09
Closed date
2017-08-22
Last modified date
2017-08-22
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
DEV FOR Z SYS
Fixed component ID
5724T0700
Applicable component levels
RE00 PSY
UP
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSJK49","label":"IBM Developer for z Systems"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"E00","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
22 August 2017