Recaf icon indicating copy to clipboard operation
Recaf copied to clipboard

Fernflower 'Decompiler timed out' on a clear .jar; not working at all

Open skidunion opened this issue 3 years ago • 4 comments

Describe the bug

Fernflower isn't working on the latest build at all. Opening any class will cause the decompiler to eventually time out and fail. Every other decompiler (CFR & Procyon) works. After keeping Recaf open for a while, it becomes very unresponsive.

Using Windows 11 build 22557 and Java:

openjdk version "1.8.0_322"
OpenJDK Runtime Environment (Zulu 8.60.0.21-CA-win64) (build 1.8.0_322-b06)
OpenJDK 64-Bit Server VM (Zulu 8.60.0.21-CA-win64) (build 25.322-b06, mixed mode)

To Reproduce

Steps to reproduce the behavior:

  1. Open latest Recaf .jar in Recaf
  2. Select Fernflower as the default decompiler
  3. Open me/coley/recaf/Recaf
  4. The decompiler should time out

Application Log

17:52:37.964 [main] INFO : Recaf-2.21.12
17:52:37.966 [main] INFO : - Java: 1.8.0_322 (OpenJDK 64-Bit Server VM)
17:52:38.082 [main] TRACE: Loading configuration
17:52:41.717 [ForkJoinPool-1-worker-9] DEBUG: Skipping duplicate class 'org/jetbrains/java/decompiler/util/ClasspathScanner'
17:52:41.918 [ForkJoinPool-1-worker-9] DEBUG: Skipping duplicate class 'module-info'
17:52:41.954 [ForkJoinPool-1-worker-9] DEBUG: Invalid class detected, not parsable by backup reader "com/sun/jna/darwin-x86-64/libjnidispatch.jnilib"
17:52:41.955 [ForkJoinPool-1-worker-9] DEBUG: Invalid class detected, not parsable by backup reader "com/sun/jna/darwin-aarch64/libjnidispatch.jnilib"
17:52:42.038 [ForkJoinPool-1-worker-9] DEBUG: Skipping duplicate class 'org/fxmisc/richtext/JavaFXCompatibility'
17:52:42.038 [ForkJoinPool-1-worker-9] DEBUG: Skipping duplicate class 'org/fxmisc/richtext/TextFlowExt'
17:52:42.154 [ForkJoinPool-1-worker-9] INFO : Loaded workspace from: recaf.jar
17:52:42.154 [ForkJoinPool-1-worker-2] DEBUG: Begin generating phantom classes, given 10886 input classes
17:52:51.946 [ForkJoinPool-1-worker-2] DEBUG: Phantom analysis complete, generated 10886 classes
17:52:51.947 [ForkJoinPool-1-worker-2] DEBUG: Generated 366 phantom classes in 9793 ms
17:53:01.642 [ForkJoinPool-1-worker-11] WARN : Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
17:53:01.642 [ForkJoinPool-1-worker-11] ERROR: Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
java.lang.NullPointerException
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.searchForClass(NestedClassProcessor.java:1065)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:1019)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.setLocalClassDefinition(NestedClassProcessor.java:912)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:85)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:92)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:409)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:13.742 [ForkJoinPool-1-worker-2] WARN : Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
17:53:13.742 [ForkJoinPool-1-worker-2] ERROR: Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:15.370 [ForkJoinPool-1-worker-11] WARN : Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
17:53:15.370 [ForkJoinPool-1-worker-11] ERROR: Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
java.lang.NullPointerException: null
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.isEnumArray(SwitchHelper.java:170)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplify(SwitchHelper.java:43)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:24)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:213)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
java.lang.NullPointerException
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.searchForClass(NestedClassProcessor.java:1065)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:1019)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.setLocalClassDefinition(NestedClassProcessor.java:912)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:85)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:92)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:409)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:29.968 [ForkJoinPool-1-worker-2] WARN : Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
17:53:29.969 [ForkJoinPool-1-worker-2] ERROR: Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
java.lang.NullPointerException: null
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.isEnumArray(SwitchHelper.java:170)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplify(SwitchHelper.java:43)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:24)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:213)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:30.546 [ForkJoinPool-1-worker-9] WARN : Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
17:53:30.546 [ForkJoinPool-1-worker-9] ERROR: Method findLineBreak (Ljava/lang/CharSequence;I)I in class org/commonmark/internal/util/Parsing couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:33.925 [ForkJoinPool-1-worker-11] WARN : Method colorizeDelimitedName (Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/strobel/io/Ansi;)Ljava/lang/StringBuilder; in class com/strobel/decompiler/AnsiTextOutput couldn't be decompiled.
17:53:33.926 [ForkJoinPool-1-worker-11] ERROR: Method colorizeDelimitedName (Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/strobel/io/Ansi;)Ljava/lang/StringBuilder; in class com/strobel/decompiler/AnsiTextOutput couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:217)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
java.lang.NullPointerException
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.searchForClass(NestedClassProcessor.java:1065)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:1019)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:990)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.setLocalClassDefinition(NestedClassProcessor.java:912)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:85)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:92)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:409)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:36.893 [ForkJoinPool-1-worker-11] WARN : Method flattenStatement ()V in class org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper couldn't be decompiled.
17:53:36.894 [ForkJoinPool-1-worker-11] ERROR: Method flattenStatement ()V in class org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper couldn't be decompiled.
java.lang.NullPointerException: null
        at org.jetbrains.java.decompiler.util.VBStyleCollection.removeWithKey(VBStyleCollection.java:88)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractIfBlock(LoopExtractHelper.java:201)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLastIf(LoopExtractHelper.java:131)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoop(LoopExtractHelper.java:86)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:54)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoopsRec(LoopExtractHelper.java:39)
        at org.jetbrains.java.decompiler.modules.decompiler.LoopExtractHelper.extractLoops(LoopExtractHelper.java:20)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:167)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
java.lang.NullPointerException
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:983)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.setLocalClassDefinition(NestedClassProcessor.java:912)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:85)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:409)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:40.835 [ForkJoinPool-1-worker-11] WARN : Method <init> (ILorg/jetbrains/java/decompiler/struct/consts/LinkConstant;Ljava/util/List;Lorg/jetbrains/java/decompiler/util/ListStack;Ljava/util/BitSet;)V in class org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent couldn't be decompiled.
17:53:40.835 [ForkJoinPool-1-worker-11] ERROR: Method <init> (ILorg/jetbrains/java/decompiler/struct/consts/LinkConstant;Ljava/util/List;Lorg/jetbrains/java/decompiler/util/ListStack;Ljava/util/BitSet;)V in class org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent couldn't be decompiled.
java.lang.NullPointerException: null
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.processExprent(VarDefinitionHelper.java:663)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.mergeVars(VarDefinitionHelper.java:621)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.mergeVars(VarDefinitionHelper.java:574)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.mergeVars(VarDefinitionHelper.java:574)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.mergeVars(VarDefinitionHelper.java:523)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarDefinitionHelper.setVarDefinitions(VarDefinitionHelper.java:231)
        at org.jetbrains.java.decompiler.modules.decompiler.vars.VarProcessor.setVarDefinitions(VarProcessor.java:42)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:223)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:42.876 [ForkJoinPool-1-worker-11] WARN : Method findReachableInsns (ILjava/util/BitSet;Ljava/util/BitSet;)V in class org/objectweb/asm/commons/JSRInlinerAdapter couldn't be decompiled.
17:53:42.876 [ForkJoinPool-1-worker-11] ERROR: Method findReachableInsns (ILjava/util/BitSet;Ljava/util/BitSet;)V in class org/objectweb/asm/commons/JSRInlinerAdapter couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:247)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:46.771 [ForkJoinPool-1-worker-9] WARN : Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
17:53:46.772 [ForkJoinPool-1-worker-9] ERROR: Method jjMoveNfa_0 (II)I in class com/steadystate/css/parser/SACParserCSS1TokenManager couldn't be decompiled.
java.lang.NullPointerException: null
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.isEnumArray(SwitchHelper.java:170)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplify(SwitchHelper.java:43)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:24)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.modules.decompiler.SwitchHelper.simplifySwitches(SwitchHelper.java:28)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:213)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:53:48.155 [ForkJoinPool-1-worker-2] WARN : Method colorizeDelimitedName (Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/strobel/io/Ansi;)Ljava/lang/StringBuilder; in class com/strobel/decompiler/AnsiTextOutput couldn't be decompiled.
17:53:48.156 [ForkJoinPool-1-worker-2] ERROR: Method colorizeDelimitedName (Ljava/lang/StringBuilder;Ljava/lang/String;Lcom/strobel/io/Ansi;)Ljava/lang/StringBuilder; in class com/strobel/decompiler/AnsiTextOutput couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:217)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:54:02.664 [ForkJoinPool-1-worker-2] WARN : Method flattenStatement ()V in class org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper couldn't be decompiled.
17:54:02.664 [ForkJoinPool-1-worker-2] ERROR: Method flattenStatement ()V in class org/jetbrains/java/decompiler/modules/decompiler/sforms/FlattenStatementsHelper couldn't be decompiled.
java.lang.NullPointerException: null
java.lang.NullPointerException
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.getDefStatement(NestedClassProcessor.java:983)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.setLocalClassDefinition(NestedClassProcessor.java:912)
        at org.jetbrains.java.decompiler.main.rels.NestedClassProcessor.processClass(NestedClassProcessor.java:85)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:409)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:54:15.133 [ForkJoinPool-1-worker-2] WARN : Method <init> (ILorg/jetbrains/java/decompiler/struct/consts/LinkConstant;Ljava/util/List;Lorg/jetbrains/java/decompiler/util/ListStack;Ljava/util/BitSet;)V in class org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent couldn't be decompiled.
17:54:15.133 [ForkJoinPool-1-worker-2] ERROR: Method <init> (ILorg/jetbrains/java/decompiler/struct/consts/LinkConstant;Ljava/util/List;Lorg/jetbrains/java/decompiler/util/ListStack;Ljava/util/BitSet;)V in class org/jetbrains/java/decompiler/modules/decompiler/exps/InvocationExprent couldn't be decompiled.
java.lang.NullPointerException: null
17:54:22.371 [ForkJoinPool-1-worker-2] WARN : Method findReachableInsns (ILjava/util/BitSet;Ljava/util/BitSet;)V in class org/objectweb/asm/commons/JSRInlinerAdapter couldn't be decompiled.
17:54:22.372 [ForkJoinPool-1-worker-2] ERROR: Method findReachableInsns (ILjava/util/BitSet;Ljava/util/BitSet;)V in class org/objectweb/asm/commons/JSRInlinerAdapter couldn't be decompiled.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:258)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:247)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:202)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:242)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.setExplicitEdges(LabelHelper.java:235)
        at org.jetbrains.java.decompiler.modules.decompiler.LabelHelper.identifyLabels(LabelHelper.java:29)
        at org.jetbrains.java.decompiler.main.rels.MethodProcessorRunnable.codeToJava(MethodProcessorRunnable.java:185)
        at org.jetbrains.java.decompiler.main.rels.ClassWrapper.init(ClassWrapper.java:61)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.initWrappers(ClassesProcessor.java:491)
        at org.jetbrains.java.decompiler.main.ClassesProcessor.processClass(ClassesProcessor.java:407)
        at me.coley.recaf.decompile.fernflower.FernFlowerAccessor.analyze(FernFlowerAccessor.java:101)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.setup(FernFlowerDecompiler.java:88)
        at me.coley.recaf.decompile.fernflower.FernFlowerDecompiler.<init>(FernFlowerDecompiler.java:35)
        at me.coley.recaf.decompile.DecompileImpl.create(DecompileImpl.java:36)
        at me.coley.recaf.ui.controls.view.ClassViewport.lambda$updateView$1(ClassViewport.java:112)
        at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
17:55:01.962 [JavaFX Application Thread] DEBUG: Using default editor for value 'binding.swapview', type: me.coley.recaf.config.ConfKeybinding$Binding

Screenshots image

skidunion avatar Feb 26 '22 14:02 skidunion

Screenshot of the intense resource usage after keeping Recaf open for some time, after I opened the class. Memory usage only seems to grow. This only happens if I ever use Fernflower in the application instance. For example, if I first use CFR to decompile the classes, everything is fine, but when I switch to Fernflower, this resource leak happens.

image

skidunion avatar Feb 26 '22 15:02 skidunion

What jar are you viewing? If it is a copyrighted one, send non-copyrighted sample to reproduce

xxDark avatar Feb 26 '22 15:02 xxDark

What jar are you viewing? If it is a copyrighted one, send non-copyrighted sample to reproduce

The sample is recaf

Geolykt avatar Feb 26 '22 16:02 Geolykt

However as I said in the discord, any jar is going to time out FF as long as it is large enough (https://hub.spigotmc.org/nexus/content/repositories/snapshots/org/spigotmc/spigot-api/1.18-R0.1-SNAPSHOT/spigot-api-1.18-R0.1-20211206.042128-24-shaded.jar) for example also does this

Geolykt avatar Feb 26 '22 16:02 Geolykt