JDK-2217231 : IllegalArgumentException throws when running apps
  • Type: Backport
  • Backport of: JDK-7075600
  • Component: client-libs
  • Sub-Component: javax.swing
  • Priority: P3
  • Status: Closed
  • Resolution: Won't Fix
  • Submitted: 2011-11-16
  • Updated: 2012-05-11
  • Resolved: 2012-05-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Comments
EVALUATION I am closing the issue for 7u releases. java.util.Arrays.useLegacyMergeSort property could be used in 7u releases to workaround the problem. Feel free to escalate the problem. In jdk8 we are going to fix the LayoutComparator class.
11-05-2012

WORK AROUND java.util.Arrays.useLegacyMergeSort property could be used.
11-05-2012

EVALUATION The risk to face the issue is not high, however the exception if it appears, prevents a user from working with UI. The problem is tricky. We can't reject ROW_TOLERANCE, though with it there're examples of UI whose components can't be sorted to arrange a focus traversal order. As a workaround I can suggest the following. In the Comparator.compare() method, mark components which participate in RAW_TOLERANCE relantion and set a rule that a component may participate in it only once. This will break long "ROW_TOLERANCE chains" (consisted of more than 2 components) into couples thus preserving transitivity.
16-11-2011

EVALUATION see main CR
16-11-2011