Unable to generate offline symbol table after update to v2.0.89

Issue #1448 resolved
Alex Jung created an issue

Updated plugin to latest version 2.0.89, got the message to regenerate Offline Symbol Table. However, after numerous regenerations, I’m still unable to complete this, with an error of “Comparison method violates its general contract” showing up.

Comments (8)

  1. Scott Wells repo owner

    The error is actually coming from the JRE that you're using:

    2019-10-14 19:57:37,774 [ 868880]   WARN - .IlluminatedCloudExceptionUtil - Comparison method violates its general contract! 
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
        at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
        at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
        at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
        at java.base/java.util.TimSort.sort(TimSort.java:254)
        at java.base/java.util.Arrays.sort(Arrays.java:1441)
        at java.base/java.util.List.sort(List.java:506)
        at com.illuminatedcloud.symtab.OfflineSymbolTable.loadSObjectClasses(SourceFile:1226)
    

    While the stack trace goes through Illuminated Cloud, the calling code has not changed at all since it was introduced. I also see other failures in the log for missing methods in other plugins, failure to find classes like java.sql.SQLException, etc.

    I hate to recommend this, but I think you should fully reinstall the IDE and its supporting JRE to ensure that you have a valid install. There are just too many core failures in the log to feel comfortable troubleshooting it in the current state.

  2. Alex Jung reporter

    Thanks, it turns out reinstalling didn’t help. Rather, the project was originally configured with a Java8 Project SDK from way back when I first installed IC1. lol, I haven’t touched any of that since then, so i switched it from that to the IC SDK.

    things started working after I restarted the IDE… will mark issue as resolved…

    thanks!

    -alex

  3. Scott Wells repo owner

    Hmmmm...I'm not sure I understand the relationship between the errors from that log and a Java 8 SDK, but at this point I'm also not sure I want to mess with what worked for you. Please let me know if you see anything like that again, though.

  4. Xander Victory

    I’ve come across this occasionally, it doesn’t happen every time, usually a subsequent attempt will work.

    It indicates a problem in your Comparator; this SO question has a decent explanation

  5. Log in to comment