AtomMaterialUI / material-theme-issues

Issues Repository for the Material Theme UI plugin for JetBrains
Other
62 stars 4 forks source link

[Bug]: Plugin Spamming errors in IDE #475

Closed NicoMadry closed 3 months ago

NicoMadry commented 3 months ago

Describe the bug

Using the free version of the Plugin in Jetbrains IntelliJ on MacOS can create error reports in multiple different circumstances and IDE features. The Problem does not crash the IDE but it will spawn an error report which accumulates over time.

The feature I identified to semi-consistently reproduce the problem, is using the symbols search using ( option + command + o ). I know there are other combinations or circumstances which cause this error to be caused too but didn't previously pay close attention to what triggered it. However it seems even when I found something that triggered the error 2-3 times in a row it then suddenly stops causing the problem for an indefinite time.

The exception StackTrace is the following:

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Read access is allowed from inside read-action (see Application.runReadAction()); see https://jb.gg/ij-platform-threading for details
Current thread: Thread[AWT-EventQueue-0,6,main] 288536374 (EventQueue.isDispatchThread()=true)
SystemEventQueueThread: (same)
    at com.intellij.util.concurrency.ThreadingAssertions.createThreadAccessException(ThreadingAssertions.java:149)
    at com.intellij.util.concurrency.ThreadingAssertions.softAssertReadAccess(ThreadingAssertions.java:107)
    at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:1012)
    at com.intellij.psi.impl.smartPointers.SmartPointerManagerImpl.createSmartPsiElementPointer(SmartPointerManagerImpl.java:68)
    at com.intellij.psi.impl.ElementBase$ElementIconRequest.<init>(ElementBase.java:171)
    at com.intellij.psi.impl.ElementBase$ElementIconRequest.<init>(ElementBase.java:166)
    at com.intellij.psi.impl.ElementBase.computeIcon(ElementBase.java:86)
    at com.intellij.psi.impl.ElementBase.getIcon(ElementBase.java:62)
    at com.intellij.javascript.testing.navigation.JsTestNavigationItem$1.getIcon(JsTestNavigationItem.java:60)
    at com.intellij.ide.util.gotoByName.GotoFileCellRenderer.doCustomizeNonPsiElementLeftRenderer(GotoFileCellRenderer.java:119)
    at com.intellij.ide.actions.SearchEverywherePsiRenderer.customizeNonPsiElementLeftRenderer(SearchEverywherePsiRenderer.java:109)
    at com.intellij.ide.util.PsiElementListCellRenderer$LeftRenderer.customizeCellRenderer(PsiElementListCellRenderer.java:191)
    at com.intellij.ui.ColoredListCellRenderer.getListCellRendererComponent(ColoredListCellRenderer.java:45)
    at com.intellij.ide.util.PsiElementListCellRenderer.getListCellRendererComponent(PsiElementListCellRenderer.java:264)
    at com.intellij.ide.actions.searcheverywhere.PSIPresentationBgRendererWrapper$WrapperRenderer.getListCellRendererComponent(PSIPresentationBgRendererWrapper.java:143)
    at com.intellij.ide.actions.searcheverywhere.SEResultsListFactory.getNonMoreElementRenderer(SEResultsListFactory.java:95)
    at com.intellij.ide.actions.searcheverywhere.MixedListFactory$1.getListCellRendererComponent(MixedListFactory.java:80)
    at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:24)
    at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:24)
    at com.mallowigi.idea.ui.MTListUI.updateLayoutState(MTListUI.kt:312)
    at java.desktop/javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1394)
    at java.desktop/javax.swing.plaf.basic.BasicListUI.getPreferredSize(BasicListUI.java:653)
    at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1721)
    at com.intellij.ui.components.JBList.getPreferredSize(JBList.java:216)
    at com.intellij.ui.components.JBScrollPane$Layout.layoutContainer(JBScrollPane.java:533)
    at java.desktop/java.awt.Container.layout(Container.java:1541)
    at java.desktop/java.awt.Container.doLayout(Container.java:1530)
    at java.desktop/java.awt.Container.validateTree(Container.java:1725)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.validateTree(Container.java:1734)
    at java.desktop/java.awt.Container.lambda$validate$3(Container.java:1659)
    at java.desktop/sun.awt.SunToolkit.performWithTreeLock(SunToolkit.java:2161)
    at java.desktop/java.awt.Container.validate(Container.java:1648)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:760)
    at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:758)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:757)
    at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1908)
    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/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/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:695)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:589)
    at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:44)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:589)
    at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:72)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:355)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:354)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:793)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:354)
    at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1014)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1014)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:349)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:386)
    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)

To Reproduce

  1. Open a project
  2. Open the symbols search ( option + command + o )

Expected behavior

The error is not triggered

Material Theme Version

8.13.2

IDE

IntelliJ IDEA

System Info

IntelliJ IDEA 2023.3.6 (Ultimate Edition)
Build #IU-233.15026.9, built on March 21, 2024
Licensed to NicoMadry
Subscription is active until September 17, 2024.
Runtime version: 17.0.10+1-b1087.23 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 14.4
GC: G1 Young Generation, G1 Old Generation
Memory: 4096M
Cores: 12
Metal Rendering is ON
Registry:
  ide.balloon.shadow.size=0
  editor.focus.mode.color.light=415967
  editor.focus.mode.color.dark=415967
  debugger.new.tool.window.layout=true
  ide.new.editor.tabs.vertical.borders=true
  ide.animate.toolwindows=true
  ide.experimental.ui=true
  ide.editor.tab.selection.animation=true
  editor.minimap.enabled=true
Non-Bundled Plugins:
  net.sf.opk.avro-schema-support (221.4.2)
  org.intellij.plugins.hcl (233.13135.65)
  com.jetbrains.space (233.15026.16)
  IdeaVIM (2.10.1)
  org.jetbrains.plugins.go-template (233.11799.172)
  com.github.copilot (1.5.0.5148)
  org.mapstruct.intellij (1.6.1)
  org.asciidoctor.intellij.asciidoc (0.41.11)
  Pythonid (233.15026.9)
  izhangzhihao.rainbow.brackets (2024.2.2-233)
  com.chrisrm.idea.MaterialThemeUI (8.13.2)
  ru.adelf.idea.dotenv (2024.1)
  com.intellij.bigdatatools.core (233.15026.9)
  org.sonarlint.idea (10.4.1.77998)
  com.mallowigi (94.1.0)
  com.intellij.bigdatatools.kafka (233.13135.103)
Kotlin: 233.15026.9-IJ

Logs/Screenshots

https://imgur.com/a/oBj9oa1
mallowigi commented 3 months ago

The 2023.X releases are end-of-life. Please upgrade to the EAP or patiently wait for the general availability.

NicoMadry commented 3 months ago

Same error still happens in IntelliJ 2024.1 (Build #IU-241.14494.240, built on March 28, 2024) with the newest plugin version 9.2.1.

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Read access is allowed from inside read-action only (see Application.runReadAction()); see https://jb.gg/ij-platform-threading for details
Current thread: Thread[AWT-EventQueue-0,6,main] 989989281 (EventQueue.isDispatchThread()=true)
SystemEventQueueThread: (same)
    at com.intellij.util.concurrency.ThreadingAssertions.createThreadAccessException(ThreadingAssertions.java:180)
    at com.intellij.util.concurrency.ThreadingAssertions.softAssertReadAccess(ThreadingAssertions.java:131)
    at com.intellij.openapi.application.impl.ApplicationImpl.assertReadAccessAllowed(ApplicationImpl.java:908)
    at com.intellij.psi.impl.source.PsiFileImpl.assertReadAccessAllowed(PsiFileImpl.java:182)
    at com.intellij.psi.impl.source.PsiFileImpl.getStubTree(PsiFileImpl.java:617)
    at com.intellij.psi.impl.source.PsiFileImpl.getGreenStubTree(PsiFileImpl.java:952)
    at com.intellij.psi.impl.source.SpineRef.getGreenStub(SpineRef.java:33)
    at com.intellij.extapi.psi.StubBasedPsiElementBase.getGreenStub(StubBasedPsiElementBase.java:343)
    at com.intellij.extapi.psi.StubBasedPsiElementBase.getParent(StubBasedPsiElementBase.java:308)
    at com.intellij.psi.util.PsiTreeUtil.getParentOfType(PsiTreeUtil.java:620)
    at com.intellij.psi.util.PsiTreeUtil.getParentOfType(PsiTreeUtil.java:609)
    at com.intellij.psi.util.PsiTreeUtil.getParentOfType(PsiTreeUtil.java:536)
    at com.intellij.psi.util.PsiTreeUtil.getStubOrPsiParentOfType(PsiTreeUtil.java:559)
    at com.intellij.psi.presentation.java.ClassPresentationUtil.getContextName(ClassPresentationUtil.java:73)
    at com.intellij.psi.presentation.java.ClassPresentationUtil.getContextName(ClassPresentationUtil.java:67)
    at com.intellij.psi.presentation.java.ClassPresentationUtil.getNameForClass(ClassPresentationUtil.java:39)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMemberQuestionAction.getElementPresentableName(StaticImportMemberQuestionAction.java:188)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMemberQuestionAction$1.getTextFor(StaticImportMemberQuestionAction.java:133)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMemberQuestionAction$1.getTextFor(StaticImportMemberQuestionAction.java:95)
    at com.intellij.ui.popup.list.PopupListElementRenderer$1.getTextFor(PopupListElementRenderer.java:54)
    at com.intellij.ui.popup.list.GroupedItemsListRenderer.getListCellRendererComponent(GroupedItemsListRenderer.java:38)
    at com.intellij.codeInsight.daemon.impl.quickfix.StaticImportMemberQuestionAction.lambda$chooseAndImport$1(StaticImportMemberQuestionAction.java:148)
    at com.intellij.ui.ExpandedItemListCellRendererWrapper.getListCellRendererComponent(ExpandedItemListCellRendererWrapper.java:24)
    at java.desktop/javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:275)
    at com.mallowigi.idea.ui.MTListUI.paintCell(MTListUI.kt:121)
    at java.desktop/javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:383)
    at java.desktop/javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:306)
    at com.mallowigi.idea.ui.MTListUI.paint(MTListUI.kt:56)
    at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
    at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:845)
    at com.intellij.ui.components.JBList.paintComponent(JBList.java:192)
    at java.desktop/javax.swing.JComponent.paint(JComponent.java:1115)
    at com.intellij.ui.components.JBList.paint(JBList.java:113)
    at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5312)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1668)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1643)
    at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1580)
    at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:272)
    at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1347)
    at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5260)
    at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5070)
    at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:882)
    at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:865)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:865)
    at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:838)
    at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:787)
    at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1909)
    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/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/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:698)
    at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
    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:1021)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1021)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:393)
    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)