NPE during OST generation
Worked fine for me until 2.0.1.2
Stack trace from log:
java.lang.NullPointerException at com.illuminatedcloud.symtab.ApexTypeName.getKeyForm(SourceFile:59) at com.illuminatedcloud.symtab.ApexTypeName.hashCode(SourceFile:65) at java.util.HashMap.hash(HashMap.java:338) at java.util.HashMap.put(HashMap.java:611) at com.illuminatedcloud.symtab.OfflineSymbolTable.getAllTypeNames(SourceFile:1162) at com.illuminatedcloud.symtab.OfflineSymbolTable.generateApexSourceFiles(SourceFile:2467) at com.illuminatedcloud.symtab.OfflineSymbolTable.generateOfflineSymbolTable(SourceFile:815) at com.illuminatedcloud.intellij.settings.project.OfflineSymbolTableGenerator$3.run(SourceFile:205) at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:713) at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:157) at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:543) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:165) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:315) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 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)
Comments (9)
-
repo owner -
reporter Man - you are the best. Thank you
-
repo owner - attached IlluminatedCloud2.zip
Okay, this is exactly 2.01.2 with what should be a fix/workaround for the issue you're seeing. Having said that, it will also log information about the true root cause of the issue which isn't necessarily addressed here. Please do the following if you don't mind:
- Download this build and install it using Settings/Preferences>Plugins>Install plugin from disk.
- Add the following to Help>Debug Log Settings:
#com.illuminatedcloud.symtab.OfflineSymbolTable
- Generate your OST.
- Whether it succeeds or fails, send me your
idea.log
using Help>Show Log in Explorer/Finder/Files. If it contains sensitive info, feel free to email it to me.
Hopefully this will get you going again, but if it doesn't it should provide enough info for me to get you another build that does. In the interim you can always roll back to 2.0.1.1 by downloading it from here. Before doing so, though, let's please get some root cause diagnostic info so that I can resolve the core issue.
Thanks, and sorry again for the inconvenience!
-
reporter Hotfix seems to have solved the problem for me - sent you an email just now with the requested log.
Thank you!
-
reporter I'm getting bouncebacks from my company email server - looks like I won't be able to get you the full log.
-
repo owner Any chance you could look for any relevant stack traces in the log and attach them here? Look for the message "Failed to determine a type name for symbol table" and please attach the full contents (redacting/obfuscating as necessary). No problem if you're unable to do so, though.
-
reporter sure! Only instance of that was relating to a managed package we use called Geopointe:
2018-03-07 10:14:48,287 [ 206030] WARN - loud.symtab.OfflineSymbolTable - Failed to determine a type name for symbol table: { "declarationType": "CLASS", "innerClasses": [], "name": "", "namespace": "geopointe", "properties": [], "tableDeclaration": { "visibility": "GLOBAL", "modifiers": [ "global" ], "name": "", "type": "Type" }, "variables": [] }
-
repo owner Perfect! Thanks much. So the issue is the
"name": ""
portion of that. I'll see if I can backtrack to how that happened initially which might require one more pass on debug logging. In the interim please let me know if you find any gaps in your OST, in particular with custom classes that you expect to be there. I'll keep you posted as I continue digging into the root cause analysis. -
repo owner - changed status to resolved
Delivered in 1.8.2.2 and 2.0.1.3.
- Log in to comment
Sorry for the issue, Scott. I did rewrite the portion of OST generation for custom classes to incorporate some considerable performance optimizations. Let me address this NPE immediately with a build posted here to get you unblocked and then I'll issue a new build later today in case others are hitting this. I'll have a build for you to install very shortly.