java.lang.IllegalArgumentException: Comparison method violates its general contract!

Apache's JIRA Issue Tracker | Andy Belsky | 2 years ago
  1. 0

    Groovy Notifications - [jira] [Updated] (GROOVY-7387) Trait compilation error: IllegalArgumentException: Comparison method violates its general contract!

    nabble.com | 1 year ago
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  2. 0

    The smallest sample I could create is the following. We've got two Groovy classes, one of which is a trait and another implements that trait. {code:title=TestTrait.groovy} package test trait TestTrait { Object userRepository Object respondentRepository Object surveyStatsRepository Object surveyRepository Object questionRepository Object questionOptionRepository Object answerRepository Object surveyInvitationRepository Object invitationDeliveryRepository Object surveyPatternRepository Object accessNumberRepository Object deliverySubscriberRepository } {code} {code:title=TestClass.groovy} package test class TestClass implements TestTrait { } {code} Then let's compile those using the command line: {code} $ JAVA_HOME/bin/java -cp ../lib/groovy-all-2.4.3.jar org.codehaus.groovy.tools.FileSystemCompiler -cp ../lib/groovy-all-2.4.3.jar test/* {code} This results in the following compiler error: {code} org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during canonicalization: Comparison method violates its general contract! java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:747) at java.util.TimSort.mergeAt(TimSort.java:483) at java.util.TimSort.mergeCollapse(TimSort.java:410) at java.util.TimSort.sort(TimSort.java:214) at java.util.TimSort.sort(TimSort.java:173) at java.util.Arrays.sort(Arrays.java:659) at java.util.Collections.sort(Collections.java:217) at org.codehaus.groovy.transform.trait.TraitComposer.applyTrait(TraitComposer.java:202) at org.codehaus.groovy.transform.trait.TraitComposer.doExtendTraits(TraitComposer.java:111) at org.codehaus.groovy.control.CompilationUnit$4.call(CompilationUnit.java:188) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1052) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:588) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:566) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:543) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:522) at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:59) at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:215) at org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:148) at org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompileWithErrorHandling(FileSystemCompiler.java:178) at org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:162) 1 error {code}

    Apache's JIRA Issue Tracker | 2 years ago | Andy Belsky
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  3. 0

    The smallest sample I could create is the following. We've got two Groovy classes, one of which is a trait and another implements that trait. {code:title=TestTrait.groovy} package test trait TestTrait { Object userRepository Object respondentRepository Object surveyStatsRepository Object surveyRepository Object questionRepository Object questionOptionRepository Object answerRepository Object surveyInvitationRepository Object invitationDeliveryRepository Object surveyPatternRepository Object accessNumberRepository Object deliverySubscriberRepository } {code} {code:title=TestClass.groovy} package test class TestClass implements TestTrait { } {code} Then let's compile those using the command line: {code} $ JAVA_HOME/bin/java -cp ../lib/groovy-all-2.4.3.jar org.codehaus.groovy.tools.FileSystemCompiler -cp ../lib/groovy-all-2.4.3.jar test/* {code} This results in the following compiler error: {code} org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: General error during canonicalization: Comparison method violates its general contract! java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeLo(TimSort.java:747) at java.util.TimSort.mergeAt(TimSort.java:483) at java.util.TimSort.mergeCollapse(TimSort.java:410) at java.util.TimSort.sort(TimSort.java:214) at java.util.TimSort.sort(TimSort.java:173) at java.util.Arrays.sort(Arrays.java:659) at java.util.Collections.sort(Collections.java:217) at org.codehaus.groovy.transform.trait.TraitComposer.applyTrait(TraitComposer.java:202) at org.codehaus.groovy.transform.trait.TraitComposer.doExtendTraits(TraitComposer.java:111) at org.codehaus.groovy.control.CompilationUnit$4.call(CompilationUnit.java:188) at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1052) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:588) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:566) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:543) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:522) at org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:59) at org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:215) at org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:148) at org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompileWithErrorHandling(FileSystemCompiler.java:178) at org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:162) 1 error {code}

    Apache's JIRA Issue Tracker | 2 years ago | Andy Belsky
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    [jira] [Commented] (GROOVY-7387) Trait compilation error: IllegalArgumentException: Comparison method violates its general contract!

    groovy-notifications | 1 year ago | Renato Athaydes (JIRA)
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  6. 0

    Convert libs repo to Java 7

    GitHub | 3 years ago | jtesser
    java.lang.IllegalArgumentException: Comparison method violates its general contract!

    15 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      Comparison method violates its general contract!

      at java.util.TimSort.mergeLo()
    2. Java RT
      Collections.sort
      1. java.util.TimSort.mergeLo(TimSort.java:747)
      2. java.util.TimSort.mergeAt(TimSort.java:483)
      3. java.util.TimSort.mergeCollapse(TimSort.java:410)
      4. java.util.TimSort.sort(TimSort.java:214)
      5. java.util.TimSort.sort(TimSort.java:173)
      6. java.util.Arrays.sort(Arrays.java:659)
      7. java.util.Collections.sort(Collections.java:217)
      7 frames
    3. Groovy
      FileSystemCompiler.main
      1. org.codehaus.groovy.transform.trait.TraitComposer.applyTrait(TraitComposer.java:202)
      2. org.codehaus.groovy.transform.trait.TraitComposer.doExtendTraits(TraitComposer.java:111)
      3. org.codehaus.groovy.control.CompilationUnit$4.call(CompilationUnit.java:188)
      4. org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1052)
      5. org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:588)
      6. org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:566)
      7. org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:543)
      8. org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:522)
      9. org.codehaus.groovy.tools.FileSystemCompiler.compile(FileSystemCompiler.java:59)
      10. org.codehaus.groovy.tools.FileSystemCompiler.doCompilation(FileSystemCompiler.java:215)
      11. org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompile(FileSystemCompiler.java:148)
      12. org.codehaus.groovy.tools.FileSystemCompiler.commandLineCompileWithErrorHandling(FileSystemCompiler.java:178)
      13. org.codehaus.groovy.tools.FileSystemCompiler.main(FileSystemCompiler.java:162)
      13 frames