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

groovy-notifications | Renato Athaydes (JIRA) | 2 years ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

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

    nabble.com | 2 years 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

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

    groovy-notifications | 2 years ago | Renato Athaydes (JIRA)
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 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!

    17 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