Vineflower / vineflower

Modern Java decompiler aiming to be as accurate as possible, with an emphasis on output quality. Fork of the Fernflower decompiler.
https://vineflower.org/
Apache License 2.0
1.24k stars 88 forks source link

VineflowerInvoker.decompile holds ReadWrite lock for 65 seconds and freezes UI thread #402

Closed ViugiNick closed 2 months ago

ViugiNick commented 4 months ago
com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1100) [56000ms]
com.intellij.openapi.application.rw.CancellableReadActionKt$$Lambda$1605/0x000000080113a940.run(Unknown Source) [56000ms]
com.intellij.openapi.application.rw.CancellableReadActionKt.cancellableReadActionInternal$lambda$1$lambda$0(cancellableReadAction.kt:49) [56000ms]
com.intellij.openapi.progress.CancellationKt.executeWithJobAndCompleteIt(cancellation.kt:126) [56000ms]
com.intellij.openapi.progress.CancellationKt.withCurrentJob(cancellation.kt:17) [56000ms]
com.intellij.openapi.progress.Cancellation.withCurrentJob(Cancellation.java:60) [56000ms]
com.intellij.openapi.progress.CancellationKt$$Lambda$1594/0x0000000801131cb8.compute(Unknown Source) [56000ms]
com.intellij.openapi.progress.CancellationKt.withCurrentJob$lambda$0(cancellation.kt:17) [56000ms]
com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:91) [56000ms]
com.intellij.openapi.application.rw.InternalReadAction$tryReadCancellable$1.invoke(InternalReadAction.kt:92) [56000ms]
com.intellij.openapi.application.rw.InternalReadAction.access$insideReadAction(InternalReadAction.kt:15) [56000ms]
com.intellij.openapi.application.rw.InternalReadAction.insideReadAction(InternalReadAction.kt:108) [56000ms]
com.intellij.openapi.fileEditor.impl.UiBuilder$processFiles$2$document$1.invoke(EditorsSplitters.kt:969) [56000ms]
com.intellij.openapi.fileEditor.impl.UiBuilder$processFiles$2$document$1.invoke(EditorsSplitters.kt:970) [56000ms]
com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.getDocument(FileDocumentManagerBase.java:53) [56000ms]
com.intellij.openapi.fileEditor.impl.FileDocumentManagerBase.loadText(FileDocumentManagerBase.java:95) [56000ms]
com.intellij.openapi.fileEditor.impl.LoadTextUtil.loadText(LoadTextUtil.java:478) [56000ms]
com.intellij.psi.impl.compiled.ClassFileDecompiler.decompile(ClassFileDecompiler.java:29) [56000ms]
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]
java.base@17.0.7/java.lang.reflect.Method.invoke(Unknown Source) [56000ms]
java.base@17.0.7/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [56000ms]
java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [56000ms]
java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [56000ms]
org.jetbrains.java.decompiler.main.decompiler.BaseDecompiler.decompileContext(BaseDecompiler.java:44) [56000ms]
org.jetbrains.java.decompiler.main.Fernflower.decompileContext(Fernflower.java:149) [56000ms]
org.jetbrains.java.decompiler.struct.StructContext.saveContext(StructContext.java:178) [56000ms]
org.jetbrains.java.decompiler.struct.ContextUnit.save(ContextUnit.java:173) [56000ms]
org.jetbrains.java.decompiler.struct.ContextUnit.waitForAll(ContextUnit.java:226) [56000ms]
java.base@17.0.7/java.util.concurrent.FutureTask.get(Unknown Source) [56000ms]
java.base@17.0.7/java.util.concurrent.FutureTask.awaitDone(Unknown Source) [56000ms]
java.base@17.0.7/java.util.concurrent.locks.LockSupport.park(Unknown Source) [56000ms]
java.base@17.0.7/jdk.internal.misc.Unsafe.park(Native Method) [56000ms]
Earthcomputer commented 4 months ago

Hi, you probably wanted to report this to https://github.com/Vineflower/vineflower-intellij, where this issue is already tracked here

ViugiNick commented 4 months ago

@Earthcomputer Opened a bug in vineflower-intellij. The bug that you sent seems a bit different