Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vineflower causes UI to lock up #20

Open
Rubydesic opened this issue May 24, 2024 · 11 comments
Open

Vineflower causes UI to lock up #20

Rubydesic opened this issue May 24, 2024 · 11 comments

Comments

@Rubydesic
Copy link

Stacktrace from thread dump:

"AWT-EventQueue-0" prio=0 tid=0x0 nid=0x0 waiting on condition
     java.lang.Thread.State: WAITING
 on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@8cee174
	at java.base@17.0.11/jdk.internal.misc.Unsafe.park(Native Method)
	at java.base@17.0.11/java.util.concurrent.locks.LockSupport.park(LockSupport.java:341)
	at java.base@17.0.11/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(AbstractQueuedSynchronizer.java:506)
	at java.base@17.0.11/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3465)
	at java.base@17.0.11/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3436)
	at java.base@17.0.11/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1625)
	at java.base@17.0.11/java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:435)
	at org.vineflower.ijplugin.VineflowerInvoker.decompile(VineflowerInvoker.kt:164)
	at org.vineflower.ijplugin.VineflowerDecompilerBase$Companion.getText(VineflowerDecompilerBase.kt:39)
	at org.vineflower.ijplugin.VineflowerDecompilerLight.getText(VineflowerDecompilerLight.kt:12)
	at org.vineflower.ijplugin.VineflowerDecompilerLight.getText(VineflowerDecompilerLight.kt:6)
	at com.intellij.psi.impl.compiled.ClassFileDecompiler.decompile(ClassFileDecompiler.java:29)
	at com.intellij.openapi.fileEditor.impl.LoadTextUtil.loadText(LoadTextUtil.java:478)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl$3.run(FileDocumentManagerImpl.java:735)
	at com.intellij.openapi.application.impl.RwLockHolder.runWriteAction(RwLockHolder.kt:344)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:883)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.lambda$reloadFromDisk$5(FileDocumentManagerImpl.java:722)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl$$Lambda$10225/0x00000001048df800.run(Unknown Source)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:225)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:177)
	at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:167)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.reloadFromDisk(FileDocumentManagerImpl.java:722)
	at com.intellij.openapi.fileEditor.FileDocumentManager.reloadFromDisk(FileDocumentManager.java:169)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.contentsChanged(FileDocumentManagerImpl.java:702)
	at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl$MyAsyncFileListener$1.afterVfsChange(FileDocumentManagerImpl.java:642)
	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.afterVfsChange(AsyncEventSupport.java:136)
	at com.intellij.openapi.vfs.newvfs.AsyncEventSupport.processEventsFromRefresh(AsyncEventSupport.java:159)
	at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.fireEventsInWriteAction(RefreshSessionImpl.java:240)
	at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.lambda$fireEvents$1(RefreshSessionImpl.java:222)
	at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl$$Lambda$2239/0x00000001013fdbb0.accept(Unknown Source)
	at com.intellij.openapi.application.impl.RwLockHolder.runEdtProgressWriteAction$lambda$2$lambda$1(RwLockHolder.kt:431)
	at com.intellij.openapi.application.impl.RwLockHolder$$Lambda$2251/0x0000000101409768.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:221)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$2254/0x000000010140a070.invoke(Unknown Source)
	at com.intellij.platform.diagnostic.telemetry.helpers.TraceKt.use(trace.kt:46)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:220)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1836/0x00000001010e3550.run(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:660)
	at com.intellij.openapi.progress.impl.CoreProgressManager$$Lambda$1837/0x00000001010e3798.compute(Unknown Source)
	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.util.PotemkinProgress.runInSwingThread(PotemkinProgress.java:156)
	at com.intellij.openapi.application.impl.RwLockHolder.runEdtProgressWriteAction$lambda$2(RwLockHolder.kt:431)
	at com.intellij.openapi.application.impl.RwLockHolder$$Lambda$2240/0x0000000101400000.compute(Unknown Source)
	at com.intellij.openapi.application.impl.RwLockHolder.runWriteActionWithClass(RwLockHolder.kt:440)
	at com.intellij.openapi.application.impl.RwLockHolder.runEdtProgressWriteAction(RwLockHolder.kt:429)
	at com.intellij.openapi.application.impl.RwLockHolder.runWriteActionWithNonCancellableProgressInDispatchThread(RwLockHolder.kt:413)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithNonCancellableProgressInDispatchThread(ApplicationImpl.java:869)
	at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.fireEvents(RefreshSessionImpl.java:218)
	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl.lambda$queueSession$2(RefreshQueueImpl.java:113)
	at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl$$Lambda$8296/0x000000010408c250.accept(Unknown Source)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$safeTransferToEdt$7(NonBlockingReadActionImpl.java:728)
	at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission$$Lambda$1857/0x000000010110c1a0.run(Unknown Source)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43)
	at com.intellij.openapi.application.impl.FlushQueue$$Lambda$509/0x0000000100519e80.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base@17.0.11/java.security.AccessController.executePrivileged(AccessController.java:776)
	at java.base@17.0.11/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base@17.0.11/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
	at com.intellij.ide.IdeEventQueue$$Lambda$686/0x000000010082fb60.run(Unknown Source)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
	at com.intellij.ide.IdeEventQueueKt$$Lambda$685/0x000000010082d080.run(Unknown Source)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
	at com.intellij.ide.IdeEventQueue$$Lambda$684/0x0000000100827d98.run(Unknown Source)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
@Earthcomputer
Copy link
Collaborator

Hi, could you include the whole thread dump? A deadlock usually involves multiple threads blocking on each other.

@Earthcomputer
Copy link
Collaborator

Also, does this happen consistently on a particular class, which would make it easy for me to reproduce the problem?

@Rubydesic
Copy link
Author

I don't know what causes it or how to reproduce it. Full thread dump attached

threadDump-20240523-184254.txt

@calmilamsy
Copy link

calmilamsy commented Sep 2, 2024

Bumping to say that I'm having the same issue. It happens seemingly on random projects? I full cleared cache and .idea files from my project that had the issue, and it was freezing on the index step every time.

I had decompiled a kotlin class in said project, if that helps at all.

@halotroop2288
Copy link

I get a similar issue whenever the plugin is installed. This issue has persisted through a complete reset of my IDE.

@wagyourtail
Copy link

wagyourtail commented Sep 2, 2024

I get a similar issue whenever the plugin is installed. This issue has persisted through a complete reset of my IDE.

I believe it has something to do with the state of the .idea folder (so the state the project gets loaded in), I can delete it to resolve this

@calmilamsy
Copy link

calmilamsy commented Sep 3, 2024

It persists through cache invalidation and a cleared .idea folder for me.

@wagyourtail
Copy link

It persists through cache invalidation and a cleared .idea folder for me.

as in your ide still instantly crashes after deleting .idea? or you have to actually start doing things for it to crash again?

@calmilamsy
Copy link

It hangs at the end of indexing libraries.

@gmitch215
Copy link

+1, hangs while indexing

@Desoroxxx
Copy link

Any progress on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants