Argument for @NotNull when Generating offline symbol table

Issue #363 resolved
Jason Curry created an issue

I have a huge project I've loaded from an SF Org and when I try to build the offline symbol table I get an error. It occurs during the 'loading custom classes', about 14 seconds in.

Error Message:

Argument for @NotNull parameter 'elements' of com/intellij/util/contains/ContainerUtil.addAllNoNull must not be null.

It works on other reasonably sized projects.

The following metadata types are loaded:

aura classes components pages staticresources triggers

There are over 2400 classes, 100 components, 750 pages, 546 triggers and 590 static resources.

IntelliJ 2016.2 and 2016.2.1

Comments (5)

  1. Scott Wells repo owner

    Jason, sorry for the problem. Can you provide the full stack trace from your idea.log (Help>Show Log in Explorer/Finder)? I'm planning to release a minor update later today or tomorrow and can include a fix for this.

  2. Scott Wells repo owner

    Jason, I'm working on this today and should have a workaround (but not fix; read below) out in a small release tomorrow morning. The root cause of the issue is here:

    2016-08-04 14:52:12,518 [86954981]  ERROR - plication.impl.ApplicationImpl - Unmarshalling Error: Tag mismatch!  
    javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: Tag mismatch! 
        at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:160)
        at com.sun.proxy.$Proxy171.query(Unknown Source)
        at com.illuminatedcloud.symtab.OfflineSymbolTable$25$2$1.compute(SourceFile:3101)
        at com.illuminatedcloud.symtab.OfflineSymbolTable$25$2$1.compute(SourceFile:3097)
        at com.illuminatedcloud.client.ForceComApiClient.runWithClient(SourceFile:160)
        at com.illuminatedcloud.symtab.OfflineSymbolTable$25$2.process(SourceFile:3096)
        at com.illuminatedcloud.symtab.OfflineSymbolTable$25$2.process(SourceFile:3087)
        at com.illuminatedcloud.util.ParallelBatchProcessorExecutor$1.call(SourceFile:46)
        at com.intellij.openapi.application.impl.ApplicationImpl$3.call(ApplicationImpl.java:330)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    ...
    Caused by: javax.crypto.AEADBadTagException: Tag mismatch!
        at com.sun.crypto.provider.GaloisCounterMode.decryptFinal(GaloisCounterMode.java:524)
        at com.sun.crypto.provider.CipherCore.finalNoPadding(CipherCore.java:1023)
        at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:960)
        at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:479)
        at javax.crypto.Cipher.doFinal(Cipher.java:2377)
        at sun.security.ssl.CipherBox.decrypt(CipherBox.java:461)
        at sun.security.ssl.InputRecord.decrypt(InputRecord.java:172)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1015)
        ... 57 more
    

    That's in response to a SOQL query against the Tooling API. The net result is an empty result set. I'm going to fix the empty result set, but in the end you'll likely have a gap in your Offline Symbol Table because of the root cause error. Searching a bit, it seems like it may be related to the Java version used by the host IDE:

    http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8130341

    Apparently there's some issue in Java 8 that doesn't exist in Java 7. Can you try adding the -XX:-UseGHASHIntrinsics system property to see if it resolves the issue? You can add that property using Help>Edit Custom VM Options. Just add it to the end of the list of args and restart the IDE.

    I'm going to address the null issue either way, but I'm hoping this will allow you to generate your full OST.

  3. Log in to comment