[ https://issues.apache.org/jira/browse/FLEX-35096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15631179#comment-15631179 ]
Justin Mclean commented on FLEX-35096: -------------------------------------- Could you provide a patch for this? > Correct comparison logic to comply with contract > ------------------------------------------------ > > Key: FLEX-35096 > URL: https://issues.apache.org/jira/browse/FLEX-35096 > Project: Apache Flex > Issue Type: Bug > Components: .Unspecified - Compiler > Affects Versions: Apache Flex 4.10.0, Apache Flex 4.11.0, Apache Flex > 4.12.0, Apache Flex 4.13.0, Apache Flex 4.12.1, Apache Flex 4.14.0, Apache > Flex 4.15.0, Apache Flex 4.14.1 > Environment: win7 64 + eclipse4.3 + flash builder 4.7 64 + apache > flex 4.10 + java 1.7(25) > Reporter: Skylar Sutton > > Since Apache Flex 4.10.x, developers have been required to add a VM argument > to Eclipse, instructing the JVM to use legacy sorting logic as a workaround > to an exception. > e.g.: > {quote} > -vmargs > #https://issues.apache.org/jira/browse/FLEX-33667 > -Djava.util.Arrays.useLegacyMergeSort=true > {quote} > The workaround is not a permanent solution, and one is long overdue. The > Comparable object in question, which does not comply with the comparison > contract, should be updated accordingly. > The exception in question is: > {quote} > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(Unknown Source) > at java.util.TimSort.mergeAt(Unknown Source) > at java.util.TimSort.mergeCollapse(Unknown Source) > at java.util.TimSort.sort(Unknown Source) > at java.util.TimSort.sort(Unknown Source) > at java.util.Arrays.sort(Unknown Source) > at flex2.compiler.swc.SwcGroup.updateMaps(SwcGroup.java:281) > at flex2.compiler.swc.SwcGroup.<init>(SwcGroup.java:67) > at flex2.compiler.swc.SwcCache.getSwcGroup(SwcCache.java:109) > at flex2.compiler.swc.SwcCache.getSwcGroup(SwcCache.java:91) > at flex2.compiler.CompilerSwcContext.load(CompilerSwcContext.java:96) > at flex2.tools.oem.Application.recompile(Application.java:1170) > at flex2.tools.oem.Application.compile(Application.java:894) > at > flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:367) > at > com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:309) > at > com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:128) > at > com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:203) > at > com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:93) > at > com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(FlexProjectBuilder.java:708) > at > com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(FlexProjectBuilder.java:412) > at > com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(FlexIncrementalBuilder.java:171) > at > org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) > at > org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) > at > org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) > at > org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) > at > org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) > at > org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) > {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)