Symptoms
-
Every time when starting debugging in the IDE, the UI freezes.
-
Vineflower plugin is installed and enabled
-
idea.logfile in the IDE logs directory contains exception thrown by Vineflower plugin:... #c.i.p.i.c.ClsFileImpl - Plugin to blame: Vineflower version: 1.1 ... #c.i.p.i.c.ClsFileImpl - Last Action: DebugFull exception stacktrace:
2024-06-25 17:21:17,225 [1020208] SEVERE - #c.i.p.i.c.ClsFileImpl - jrt:///usr/lib/jvm/java-17-openjdk!/java.base/java/util/concurrent/CompletableFuture.class com.intellij.diagnostic.PluginException: stub:[PsiJavaCodeReferenceElement:ForkJoinTask<Void>]; mirror:[] [Plugin: net.earthcomputer.quiltflowerintellij] at com.intellij.psi.impl.compiled.ClsFileImpl.wrapException(ClsFileImpl.java:388) at com.intellij.psi.impl.compiled.ClsFileImpl.getMirror(ClsFileImpl.java:356) at com.intellij.psi.impl.compiled.ClsFileImpl.findElementAt(ClsFileImpl.java:432) at com.intellij.xdebugger.impl.XDebuggerUtilImpl.iterateOffsetRange(XDebuggerUtilImpl.java:669) at com.intellij.xdebugger.impl.XDebuggerUtilImpl.iterateLine(XDebuggerUtilImpl.java:657) at com.intellij.debugger.ui.breakpoints.JavaLineBreakpointType.findSingleConditionalReturn(JavaLineBreakpointType.java:246) at com.intellij.debugger.ui.breakpoints.JavaLineBreakpointType.findSingleConditionalReturn(JavaLineBreakpointType.java:206) at com.intellij.debugger.engine.PositionManagerImpl.adjustPositionForConditionalReturn(PositionManagerImpl.java:196) at com.intellij.debugger.engine.PositionManagerImpl.getSourcePosition(PositionManagerImpl.java:185) at com.intellij.debugger.engine.CompoundPositionManager.lambda$getSourcePosition$2(CompoundPositionManager.java:109) at com.intellij.debugger.engine.CompoundPositionManager.lambda$iterate$0(CompoundPositionManager.java:84) at com.intellij.debugger.impl.DebuggerUtilsImpl.suppressExceptions(DebuggerUtilsImpl.java:252) at com.intellij.debugger.engine.CompoundPositionManager.iterate(CompoundPositionManager.java:84) at com.intellij.debugger.engine.CompoundPositionManager.lambda$getSourcePosition$3(CompoundPositionManager.java:108) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:851) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:883) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:604) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$4(NonBlockingReadActionImpl.java:567) at com.intellij.openapi.application.impl.RwLockHolder.tryRunReadAction(RwLockHolder.kt:310) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:958) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:93) at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:66) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:155) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:138) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:100) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:100) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:135) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:93) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:567) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.executeSynchronously(NonBlockingReadActionImpl.java:492) at com.intellij.openapi.application.impl.NonBlockingReadActionImpl.executeSynchronously(NonBlockingReadActionImpl.java:220) at com.intellij.debugger.engine.CompoundPositionManager.getSourcePosition(CompoundPositionManager.java:117) at com.intellij.debugger.engine.ContextUtil.getSourcePosition(ContextUtil.java:54) at com.intellij.debugger.ui.impl.watch.StackFrameDescriptorImpl.<init>(StackFrameDescriptorImpl.java:74) at com.intellij.debugger.ui.impl.watch.StackFrameDescriptorImpl.<init>(StackFrameDescriptorImpl.java:56) at com.intellij.debugger.ui.impl.watch.StackFrameDescriptorImpl.lambda$createAsync$0(StackFrameDescriptorImpl.java:92) at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2147) at com.intellij.debugger.impl.DebuggerUtilsAsync.completeFuture(DebuggerUtilsAsync.java:538) at com.intellij.debugger.impl.DebuggerUtilsAsync$1.contextAction(DebuggerUtilsAsync.java:476) at com.intellij.debugger.engine.events.SuspendContextCommandImpl.action(SuspendContextCommandImpl.java:48) at com.intellij.debugger.engine.events.DebuggerCommandImpl.run(DebuggerCommandImpl.java:40) at com.intellij.debugger.engine.DebuggerManagerThreadImpl.processEvent(DebuggerManagerThreadImpl.java:155) at com.intellij.debugger.engine.DebuggerManagerThreadImpl.processEvent(DebuggerManagerThreadImpl.java:27) at com.intellij.debugger.impl.InvokeThread.lambda$run$0(InvokeThread.java:140) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:217) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:659) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:79) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:202) at com.intellij.debugger.impl.InvokeThread.lambda$run$1(InvokeThread.java:126) at com.intellij.openapi.project.DumbService.runWithAlternativeResolveEnabled(DumbService.kt:341) at com.intellij.debugger.impl.InvokeThread.run(InvokeThread.java:126) at com.intellij.debugger.impl.InvokeThread$WorkerThreadRequest.lambda$run$0(InvokeThread.java:49) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:218) at com.intellij.debugger.impl.InvokeThread$WorkerThreadRequest.run(InvokeThread.java:48) at com.intellij.openapi.application.impl.RwLockHolder$executeOnPooledThread$1.run(RwLockHolder.kt:154) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:32) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: com.intellij.psi.impl.compiled.ClsElementImpl$InvalidMirrorException: stub:[PsiJavaCodeReferenceElement:ForkJoinTask\<Void\>]; mirror:[] at com.intellij.psi.impl.compiled.ClsElementImpl.setMirrors(ClsElementImpl.java:261) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirrors(ClsElementImpl.java:256) at com.intellij.psi.impl.compiled.ClsReferenceListImpl.setMirror(ClsReferenceListImpl.java:89) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirror(ClsElementImpl.java:243) at com.intellij.psi.impl.compiled.ClsClassImpl.setMirrorChecked(ClsClassImpl.java:471) at com.intellij.psi.impl.compiled.ClsClassImpl.setMirror(ClsClassImpl.java:454) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirror(ClsElementImpl.java:243) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirrors(ClsElementImpl.java:264) at com.intellij.psi.impl.compiled.ClsClassImpl.setMirrorsChecked(ClsClassImpl.java:476) at com.intellij.psi.impl.compiled.ClsClassImpl.setMirror(ClsClassImpl.java:461) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirror(ClsElementImpl.java:243) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirrors(ClsElementImpl.java:264) at com.intellij.psi.impl.compiled.ClsElementImpl.setMirrors(ClsElementImpl.java:256) at com.intellij.psi.impl.compiled.ClsFileImpl.setFileMirror(ClsFileImpl.java:303) at com.intellij.psi.impl.compiled.ClsFileImpl.lambda$getMirror$1(ClsFileImpl.java:351) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:269) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:735) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:691) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:277) at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:57) at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:277) at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:268) at com.intellij.psi.impl.compiled.ClsFileImpl.getMirror(ClsFileImpl.java:350) ... 76 more 2024-06-25 17:21:17,228 [1020211] SEVERE - #c.i.p.i.c.ClsFileImpl - IntelliJ IDEA 2024.1.4 Build #IU-241.18034.62 2024-06-25 17:21:17,228 [1020211] SEVERE - #c.i.p.i.c.ClsFileImpl - JDK: 17.0.11; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2024-06-25 17:21:17,228 [1020211] SEVERE - #c.i.p.i.c.ClsFileImpl - OS: Linux 2024-06-25 17:21:17,228 [1020211] SEVERE - #c.i.p.i.c.ClsFileImpl - Plugin to blame: Vineflower version: 1.1 2024-06-25 17:21:17,228 [1020211] SEVERE - #c.i.p.i.c.ClsFileImpl - Last Action: Debug -
Thread dumps written on the IDE freezes (
threadDumps-freeze-*directories in the IDE logs directory) could contain threads related to the Vineflower decompiling, like in this bug report:org.vineflower.ijplugin.VineflowerDecompilerLight.getText(VineflowerDecompilerLight.kt:6) [56000ms] org.vineflower.ijplugin.VineflowerDecompilerLight.getText(VineflowerDecompilerLight.kt:12) [56000ms] org.vineflower.ijplugin.VineflowerDecompilerBase$Companion.getText(VineflowerDecompilerBase.kt:39) [56000ms] org.vineflower.ijplugin.VineflowerInvoker.decompile(VineflowerInvoker.kt:168) [56000ms] org.vineflower.ijplugin.VineflowerInvoker.decompile$doDecompile(VineflowerInvoker.kt:125) [56000ms]
Cause
The misbehavior is caused by the Vineflower plugin.
Comments
0 comments
Please sign in to leave a comment.