Enigma
Enigma copied to clipboard
NullPointerException in SourceIndexMethodVisitor
java.lang.NullPointerException
at cuchaz.enigma.analysis.SourceIndexMethodVisitor.visitInvocationExpression(SourceIndexMethodVisitor.java:43)
at cuchaz.enigma.analysis.SourceIndexMethodVisitor.visitInvocationExpression(SourceIndexMethodVisitor.java:28)
at com.strobel.decompiler.languages.java.ast.InvocationExpression.acceptVisitor(InvocationExpression.java:78)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitThrowStatement(SourceIndexVisitor.java:193)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitThrowStatement(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.ThrowStatement.acceptVisitor(ThrowStatement.java:48)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitBlockStatement(SourceIndexVisitor.java:128)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitBlockStatement(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.BlockStatement.acceptVisitor(BlockStatement.java:72)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitTryCatchStatement(SourceIndexVisitor.java:333)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitTryCatchStatement(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.TryCatchStatement.acceptVisitor(TryCatchStatement.java:73)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitBlockStatement(SourceIndexVisitor.java:128)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitBlockStatement(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.BlockStatement.acceptVisitor(BlockStatement.java:72)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitMethodDeclaration(SourceIndexVisitor.java:38)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitMethodDeclaration(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.MethodDeclaration.acceptVisitor(MethodDeclaration.java:85)
at cuchaz.enigma.analysis.SourceIndexClassVisitor.visitMethodDeclaration(SourceIndexClassVisitor.java:67)
at cuchaz.enigma.analysis.SourceIndexClassVisitor.visitMethodDeclaration(SourceIndexClassVisitor.java:25)
at com.strobel.decompiler.languages.java.ast.MethodDeclaration.acceptVisitor(MethodDeclaration.java:85)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexClassVisitor.visitTypeDeclaration(SourceIndexClassVisitor.java:43)
at cuchaz.enigma.analysis.SourceIndexClassVisitor.visitTypeDeclaration(SourceIndexClassVisitor.java:25)
at com.strobel.decompiler.languages.java.ast.TypeDeclaration.acceptVisitor(TypeDeclaration.java:90)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitTypeDeclaration(SourceIndexVisitor.java:26)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitTypeDeclaration(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.TypeDeclaration.acceptVisitor(TypeDeclaration.java:90)
at cuchaz.enigma.analysis.SourceIndexVisitor.recurse(SourceIndexVisitor.java:31)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitCompilationUnit(SourceIndexVisitor.java:243)
at cuchaz.enigma.analysis.SourceIndexVisitor.visitCompilationUnit(SourceIndexVisitor.java:19)
at com.strobel.decompiler.languages.java.ast.CompilationUnit.acceptVisitor(CompilationUnit.java:81)
at cuchaz.enigma.analysis.SourceIndex.buildIndex(SourceIndex.java:58)
at cuchaz.enigma.gui.GuiController.decompileSource(GuiController.java:358)
at cuchaz.enigma.gui.GuiController.lambda$loadClass$7(GuiController.java:333)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Do you remember in what file this occurred?
No, I don't. This wasn't a Minecraft class though.
This seems to be related to the Procyon update. It seems to call visitInvocationExpression
with comparison expressions like fcmpl(Math.abs(arg2.c), 22.5f)
. Enigma currently expects a MemberReference
attached. Not sure if Enigma's assumption there is wrong or if it's an issue with Procyon.
This was happening before the procyon update.
Interesting. Maybe a different issue before -- but the Procyon update has definitely caused this NPE to come up more than before.
Is this still relevant? I've used Enigma a fair bit over the past year or so, and I can't recall seeing this particular error at least once
Most likely is still an issue as itsprocyon specific. I expect (and hope) you have been using CFR though.