ingokegel / jclasslib

jclasslib bytecode editor is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.
Other
2.66k stars 405 forks source link

Exception from jclasslib IDEA plugin #30

Closed yanex closed 4 years ago

yanex commented 4 years ago

We are getting exceptions from the jclasslib IDEA plugin.

update failed for AnAction(org.gjt.jclasslib.idea.ShowBytecodeAction) with ID=ShowByteCodeJclasslib

java.lang.IllegalStateException: Must not call from EDT
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:99)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:72)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:93)
    at org.jetbrains.kotlin.idea.ProgressUtilKt.runInReadActionWithWriteActionPriority(ProgressUtil.kt:34)
    at org.jetbrains.kotlin.idea.ProgressUtilKt.runInReadActionWithWriteActionPriorityWithPCE(ProgressUtil.kt:26)
    at org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches$Companion.createTypeMapperForSourceFile(KotlinDebuggerCaches.kt:196)
    at org.jetbrains.kotlin.idea.debugger.evaluate.KotlinDebuggerCaches$Companion.getOrCreateTypeMapper(KotlinDebuggerCaches.kt:168)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider.getNameForNonLocalClass(KotlinClassNameProvider.kt:113)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider.access$getNameForNonLocalClass(KotlinClassNameProvider.kt:24)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider$getClassNameForRelevantElement$2.invoke(KotlinClassNameProvider.kt:83)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider$getClassNameForRelevantElement$2.invoke(KotlinClassNameProvider.kt:24)
    at org.gjt.jclasslib.idea.KotlinClassNameProviderKt$sam$com_intellij_openapi_util_Computable$0.compute(KotlinClassNameProvider.kt)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:917)
    at org.gjt.jclasslib.idea.KotlinClassNameProviderKt.runReadAction(KotlinClassNameProvider.kt:134)
    at org.gjt.jclasslib.idea.KotlinClassNameProviderKt.access$runReadAction(KotlinClassNameProvider.kt:1)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider.getClassNameForRelevantElement$idea(KotlinClassNameProvider.kt:82)
    at org.gjt.jclasslib.idea.KotlinClassNameProvider.getClassName(KotlinClassNameProvider.kt:56)
    at org.gjt.jclasslib.idea.ClassFileLocationKt.getContainingClassName(ClassFileLocation.kt:118)
    at org.gjt.jclasslib.idea.ShowBytecodeAction.update(Action.kt:27)
    at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareUpdate(ActionUtil.java:176)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doUpdate(ActionUpdater.java:378)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$null$1(ActionUpdater.java:78)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.callAction(ActionUpdater.java:106)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$new$2(ActionUpdater.java:79)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.update(ActionUpdater.java:364)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:231)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:215)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1609)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:215)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandGroupChild(ActionUpdater.java:258)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$doExpandActionGroup$19(ActionUpdater.java:215)
    at com.intellij.util.containers.ContainerUtil.concat(ContainerUtil.java:1609)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.doExpandActionGroup(ActionUpdater.java:215)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:139)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroup(ActionUpdater.java:131)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.lambda$expandActionGroupWithTimeout$11(ActionUpdater.java:148)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$3(CoreProgressManager.java:185)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:169)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:156)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:185)
    at com.intellij.openapi.progress.util.ProgressIndicatorUtils.withTimeout(ProgressIndicatorUtils.java:260)
    at com.intellij.openapi.actionSystem.impl.ActionUpdater.expandActionGroupWithTimeout(ActionUpdater.java:147)
    at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:66)
    at com.intellij.openapi.actionSystem.impl.ActionMenu.fillMenu(ActionMenu.java:286)
    at com.intellij.openapi.actionSystem.impl.ActionMenu$MenuListenerImpl.menuSelected(ActionMenu.java:244)
    at java.desktop/javax.swing.JMenu.fireMenuSelected(JMenu.java:1036)
    at java.desktop/javax.swing.JMenu$MenuChangeListener.stateChanged(JMenu.java:1116)
    at java.desktop/javax.swing.DefaultButtonModel.fireStateChanged(DefaultButtonModel.java:352)
    at java.desktop/javax.swing.DefaultButtonModel.setSelected(DefaultButtonModel.java:234)
    at java.desktop/javax.swing.JMenu.setSelected(JMenu.java:291)
    at java.desktop/com.apple.laf.ScreenMenu$2.run(ScreenMenu.java:136)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:817)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:405)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:404)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Exceptions reproduce both in IDEA (2019.1/2) and Android Studio. Can you please take a look at it?

ingokegel commented 4 years ago

Fixed by f613c86a997245dc24c6544ac78e077e20cc6496