wangfrombupt/smali

Java7: Comparison method violates its general contract! Exception

Closed this issue · 2 comments

What seems to be the problem?

With Java7, smalling some classes results in exception:

java.lang.IllegalArgumentException: Comparison method violates its general 
contract!
    at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:835)
    at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:453)
    at java.util.ComparableTimSort.mergeCollapse(ComparableTimSort.java:376)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:182)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:146)
    at java.util.Arrays.sort(Arrays.java:472)
    at java.util.Collections.sort(Collections.java:155)
    at org.jf.dexlib.Section.sortSection(Section.java:219)
    at org.jf.dexlib.DexFile.place(DexFile.java:669)


What is the exact smali/baksmali command that you ran?

using org.jf.dexlib.DexFile programmatically

What version of smali/baksmali are you using? What rom are you working
from?

master (1.4.2)

What is the airspeed velocity of an unladen swallow?


Please provide any additional information below: error messages, symptoms,
etc.

patch is attached.

Thanks,
Vladimir


Original issue reported on code.google.com by vbuz...@gmail.com on 3 Jul 2013 at 2:32

Attachments:

Thanks! I'll take a look at the patch and get it applied.

Original comment by jesusfreke@jesusfreke.com on 3 Jul 2013 at 3:03

  • Changed state: Accepted
This code no longer exists in dexlib 2.0

Original comment by jesusfreke@jesusfreke.com on 7 Dec 2013 at 11:01

  • Changed state: WontFix