You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe in the.bytecode.club.bytecodeviewer.decompilers.impl.ProcyonDecompiler.doSaveJarDecompiled
The issue lies in resolvedType not directly being checked for a null, along with type.resolve().
Error
Please send this error log to https://github.com/Konloch/bytecode-viewer/issues or Konloch at https://the.bytecode.club or konloch@gmail.com
If you hold appropriate legal rights to the relevant class/jar/apk file please include that as well.
Bytecode Viewer Version: 2.11.2 [Fat Jar], OS: Windows 10, Java: 15.0.1
java.lang.NullPointerException: Cannot invoke "com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentNode.getNodeStatus()" because "node" is null
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis.changeNodeStatus(DefiniteAssignmentAnalysis.java:276)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis.access$400(DefiniteAssignmentAnalysis.java:40)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitLambdaExpression(DefiniteAssignmentAnalysis.java:562)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitLambdaExpression(DefiniteAssignmentAnalysis.java:445)
at com.strobel.decompiler.languages.java.ast.LambdaExpression.acceptVisitor(LambdaExpression.java:49)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitChildren(DefiniteAssignmentAnalysis.java:465)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitChildren(DefiniteAssignmentAnalysis.java:445)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitObjectCreationExpression(DepthFirstAstVisitor.java:344)
at com.strobel.decompiler.languages.java.ast.ObjectCreationExpression.acceptVisitor(ObjectCreationExpression.java:98)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitVariableInitializer(DefiniteAssignmentAnalysis.java:498)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitVariableInitializer(DefiniteAssignmentAnalysis.java:445)
at com.strobel.decompiler.languages.java.ast.VariableInitializer.acceptVisitor(VariableInitializer.java:80)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitChildren(DefiniteAssignmentAnalysis.java:465)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitChildren(DefiniteAssignmentAnalysis.java:445)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitVariableDeclaration(DepthFirstAstVisitor.java:199)
at com.strobel.decompiler.languages.java.ast.VariableDeclarationStatement.acceptVisitor(VariableDeclarationStatement.java:115)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitTryCatchStatement(DefiniteAssignmentAnalysis.java:532)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis$DefiniteAssignmentVisitor.visitTryCatchStatement(DefiniteAssignmentAnalysis.java:445)
at com.strobel.decompiler.languages.java.ast.TryCatchStatement.acceptVisitor(TryCatchStatement.java:78)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis.changeNodeStatus(DefiniteAssignmentAnalysis.java:292)
at com.strobel.decompiler.languages.java.ast.DefiniteAssignmentAnalysis.analyze(DefiniteAssignmentAnalysis.java:194)
at com.strobel.decompiler.languages.java.ast.transforms.TryWithResourcesTransform.visitTryCatchStatement(TryWithResourcesTransform.java:290)
at com.strobel.decompiler.languages.java.ast.transforms.TryWithResourcesTransform.visitTryCatchStatement(TryWithResourcesTransform.java:34)
at com.strobel.decompiler.languages.java.ast.TryCatchStatement.acceptVisitor(TryCatchStatement.java:78)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitChildren(DepthFirstAstVisitor.java:41)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitBlockStatement(DepthFirstAstVisitor.java:104)
at com.strobel.decompiler.languages.java.ast.BlockStatement.acceptVisitor(BlockStatement.java:72)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitChildren(DepthFirstAstVisitor.java:41)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitMethodDeclaration(DepthFirstAstVisitor.java:234)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitMethodDeclarationOverride(ContextTrackingVisitor.java:84)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitMethodDeclaration(ContextTrackingVisitor.java:76)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitMethodDeclaration(ContextTrackingVisitor.java:31)
at com.strobel.decompiler.languages.java.ast.MethodDeclaration.acceptVisitor(MethodDeclaration.java:94)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitChildren(DepthFirstAstVisitor.java:41)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitTypeDeclaration(DepthFirstAstVisitor.java:264)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitTypeDeclarationOverride(ContextTrackingVisitor.java:69)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitTypeDeclaration(ContextTrackingVisitor.java:60)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.visitTypeDeclaration(ContextTrackingVisitor.java:31)
at com.strobel.decompiler.languages.java.ast.TypeDeclaration.acceptVisitor(TypeDeclaration.java:98)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitChildren(DepthFirstAstVisitor.java:41)
at com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor.visitCompilationUnit(DepthFirstAstVisitor.java:274)
at com.strobel.decompiler.languages.java.ast.CompilationUnit.acceptVisitor(CompilationUnit.java:82)
at com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor.run(ContextTrackingVisitor.java:100)
at com.strobel.decompiler.languages.java.ast.transforms.TryWithResourcesTransform.run(TryWithResourcesTransform.java:169)
at com.strobel.decompiler.languages.java.ast.transforms.TransformationPipeline.runTransformationsUntil(TransformationPipeline.java:101)
at com.strobel.decompiler.languages.java.ast.AstBuilder.runTransformations(AstBuilder.java:122)
at com.strobel.decompiler.languages.java.JavaLanguage.runTransforms(JavaLanguage.java:97)
at com.strobel.decompiler.languages.java.JavaLanguage.buildAst(JavaLanguage.java:72)
at com.strobel.decompiler.languages.java.JavaLanguage.decompileType(JavaLanguage.java:59)
at the.bytecode.club.bytecodeviewer.decompilers.impl.ProcyonDecompiler.doSaveJarDecompiled(ProcyonDecompiler.java:187)
at the.bytecode.club.bytecodeviewer.decompilers.impl.ProcyonDecompiler.decompileToZip(ProcyonDecompiler.java:141)
at the.bytecode.club.bytecodeviewer.resources.ResourceDecompiling.decompileSaveAll(ResourceDecompiling.java:262)
at the.bytecode.club.bytecodeviewer.resources.ResourceDecompiling.lambda$decompileSaveAll$0(ResourceDecompiling.java:122)
at java.base/java.lang.Thread.run(Thread.java:832)
The text was updated successfully, but these errors were encountered:
Description
When viewing this file in the editor it works fine, however if you try to decompile any jar/zip with this file it will fail.
Only on Procyon.
File
Default IOUtils.class From org.apache.commons.io
IOUtils.zip
Fix
I believe in
the.bytecode.club.bytecodeviewer.decompilers.impl.ProcyonDecompiler.doSaveJarDecompiled
The issue lies in
resolvedType
not directly being checked for a null, along withtype.resolve()
.Error
The text was updated successfully, but these errors were encountered: