Error in SonarLint for IntelliJ - "Icon (0) cannot be null"

Hello folks,

I ran into this issue using sonarlint.

Environment:

  • Java: JetBrains s.r.o. 11.0.13
  • OS: Mac OS X aarch64
  • IDE: IntelliJ IDEA 2021.3
  • SonarLint: 6.8.0.49652
java.lang.IllegalArgumentException: Icon (0) cannot be null
	at o.sl.ij.util.CompoundIcon.<init>(CompoundIcon.java:76)
	at o.sl.ij.util.CompoundIcon.<init>(CompoundIcon.java:56)
	at o.sl.ij.ui.nodes.IssueNode.render(IssueNode.java:57)
	at o.sl.ij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:37)
	at c.ij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:122)
	at c.ij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:54)
	at c.ij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:177)
	at c.ij.ui.tree.ui.DefaultTreeUI$2.getNodeDimensions(DefaultTreeUI.java:479)
	at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1465)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
	at c.ij.ui.tree.ui.DefaultTreeUI$3.setExpandedState(DefaultTreeUI.java:511)
1 Like

Hi Pierre :slight_smile:

Looks like this happens when finding the icons associated to the issue’s type and severity. I don’t reproduce it.

A few questions:

  1. Does this happen for all files in your project ?
  2. Is it related to a specific piece of code or a specific issue ?
  3. Are you connected to SonarQube ?
  4. Could you try with the latest released version ? This one seems to be a private/dogfood build

Merci!

  1. It happened twice, on two different files. It did not happen since.
  2. I think it was on the same issue, but I don’t recall which one
  3. yes, to next
  4. sure! I’ll let you know if that happens again

It happened again.

java.lang.IllegalArgumentException: Icon (0) cannot be null
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:76)
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:56)
	at org.sonarlint.intellij.ui.nodes.IssueNode.render(IssueNode.java:57)
	at org.sonarlint.intellij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:37)
	at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:122)
	at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:54)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:177)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.getNodeDimensions(DefaultTreeUI.java:479)
	at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1465)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
	at com.intellij.ui.tree.ui.DefaultTreeUI$3.setExpandedState(DefaultTreeUI.java:511)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1975)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:4212)
	at java.desktop/javax.swing.JTree.fireTreeExpanded(JTree.java:2801)
	at java.desktop/javax.swing.JTree.setExpandedState(JTree.java:3702)
	at java.desktop/javax.swing.JTree.expandPath(JTree.java:2244)
	at com.intellij.util.ui.tree.TreeUtil.expandPathWithDebug(TreeUtil.java:1405)
	at com.intellij.util.ui.tree.TreeUtil.lambda$promiseMakeVisible$34(TreeUtil.java:1591)
	at com.intellij.util.ui.tree.TreeUtil.visitModel(TreeUtil.java:1843)
	at com.intellij.util.ui.tree.TreeUtil.lambda$promiseVisit$44(TreeUtil.java:1808)
	at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
	at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2180)
	at com.intellij.util.ui.tree.TreeUtil.promiseVisit(TreeUtil.java:1808)
	at com.intellij.util.ui.tree.TreeUtil.promiseMakeVisible(TreeUtil.java:1579)
	at com.intellij.util.ui.tree.TreeUtil.promiseExpand(TreeUtil.java:1014)
	at com.intellij.util.ui.tree.TreeUtil.promiseExpandAll(TreeUtil.java:978)
	at com.intellij.util.ui.tree.TreeUtil.expandAll(TreeUtil.java:954)
	at org.sonarlint.intellij.ui.SonarLintIssuesPanel.expandTree(SonarLintIssuesPanel.java:91)
	at org.sonarlint.intellij.ui.SonarLintIssuesPanel.update(SonarLintIssuesPanel.java:87)
	at org.sonarlint.intellij.ui.CurrentFileController.update(CurrentFileController.java:151)
	at org.sonarlint.intellij.ui.CurrentFileController$EventWatcher.lambda$checkRefresh$0(CurrentFileController.java:132)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
	at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
	at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:348)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:82)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:131)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
	at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:187)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	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.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:492)
	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)
java.lang.IllegalArgumentException: Icon (0) cannot be null
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:76)
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:56)
	at org.sonarlint.intellij.ui.nodes.IssueNode.render(IssueNode.java:57)
	at org.sonarlint.intellij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:37)
	at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:122)
	at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:54)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:177)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.getNodeDimensions(DefaultTreeUI.java:479)
	at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.getPreferredWidth(VariableHeightLayoutCache.java:1161)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.getMaxNodeWidth(VariableHeightLayoutCache.java:991)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.getPreferredWidth(VariableHeightLayoutCache.java:308)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:2182)
	at com.intellij.ui.tree.ui.DefaultTreeUI.updateCachedPreferredSize(DefaultTreeUI.java:418)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2307)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2290)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1683)
	at com.intellij.ui.treeStructure.Tree.getPreferredSize(Tree.java:814)
	at com.intellij.ui.components.JBViewport.getPreferredSizeWithoutScrollBars(JBViewport.java:527)
	at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:606)
	at com.intellij.ui.components.JBViewport.getPreferredScrollableViewportSize(JBViewport.java:520)
	at com.intellij.ui.components.JBViewport$1.preferredLayoutSize(JBViewport.java:66)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at com.intellij.ui.components.JBScrollPane$Layout.preferredLayoutSize(JBScrollPane.java:801)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at java.desktop/java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:724)
	at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
	at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
	at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1685)
	at com.intellij.openapi.ui.Splitter.computeFirstComponentSize(Splitter.java:492)
	at com.intellij.openapi.ui.Splitter.doLayout(Splitter.java:428)
	at java.desktop/java.awt.Container.validateTree(Container.java:1722)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validateTree(Container.java:1731)
	at java.desktop/java.awt.Container.validate(Container.java:1657)
	at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:748)
	at java.desktop/javax.swing.RepaintManager$3.run(RepaintManager.java:746)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:745)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1900)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	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.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:488)
	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)
java.lang.IllegalArgumentException: Icon (0) cannot be null
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:76)
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:56)
	at org.sonarlint.intellij.ui.nodes.IssueNode.render(IssueNode.java:57)
	at org.sonarlint.intellij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:37)
	at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:122)
	at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:54)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:177)
	at com.intellij.ui.tree.ui.DefaultTreeUI.paint(DefaultTreeUI.java:260)
	at java.desktop/javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
	at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:800)
	at com.intellij.ui.treeStructure.Tree.paintComponent(Tree.java:330)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1077)
	at com.intellij.ui.treeStructure.Tree.paint(Tree.java:244)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JViewport.paint(JViewport.java:737)
	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:237)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1086)
	at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:590)
	at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:910)
	at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5270)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1654)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1629)
	at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1566)
	at java.desktop/javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:262)
	at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1333)
	at java.desktop/javax.swing.JComponent.paint(JComponent.java:1063)
	at java.desktop/java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
	at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
	at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
	at java.desktop/java.awt.Container.paint(Container.java:2002)
	at java.desktop/java.awt.Window.paint(Window.java:3958)
	at com.intellij.openapi.wm.impl.IdeFrameImpl.paint(IdeFrameImpl.java:129)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879)
	at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:851)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:851)
	at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:826)
	at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:775)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1901)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	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.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:488)
	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)
java.lang.IllegalArgumentException: Icon (0) cannot be null
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:76)
	at org.sonarlint.intellij.util.CompoundIcon.<init>(CompoundIcon.java:56)
	at org.sonarlint.intellij.ui.nodes.IssueNode.render(IssueNode.java:57)
	at org.sonarlint.intellij.ui.tree.TreeCellRenderer.customizeCellRenderer(TreeCellRenderer.java:37)
	at com.intellij.ui.ColoredTreeCellRenderer.rendererComponentInner(ColoredTreeCellRenderer.java:122)
	at com.intellij.ui.ColoredTreeCellRenderer.getTreeCellRendererComponent(ColoredTreeCellRenderer.java:54)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:177)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.getNodeDimensions(DefaultTreeUI.java:479)
	at java.desktop/javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:493)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1344)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1465)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.expand(VariableHeightLayoutCache.java:1272)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.ensurePathIsExpanded(VariableHeightLayoutCache.java:967)
	at java.desktop/javax.swing.tree.VariableHeightLayoutCache.setExpandedState(VariableHeightLayoutCache.java:181)
	at com.intellij.ui.tree.ui.DefaultTreeUI$3.setExpandedState(DefaultTreeUI.java:511)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI.updateExpandedDescendants(BasicTreeUI.java:1975)
	at java.desktop/javax.swing.plaf.basic.BasicTreeUI$Handler.treeExpanded(BasicTreeUI.java:4212)
	at java.desktop/javax.swing.JTree.fireTreeExpanded(JTree.java:2801)
	at java.desktop/javax.swing.JTree.setExpandedState(JTree.java:3702)
	at java.desktop/javax.swing.JTree.expandPath(JTree.java:2244)
	at com.intellij.util.ui.tree.TreeUtil.expandPathWithDebug(TreeUtil.java:1405)
	at com.intellij.util.ui.tree.TreeUtil.lambda$promiseMakeVisible$34(TreeUtil.java:1591)
	at com.intellij.util.ui.tree.TreeUtil.visitModel(TreeUtil.java:1843)
	at com.intellij.util.ui.tree.TreeUtil.lambda$promiseVisit$44(TreeUtil.java:1808)
	at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
	at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2180)
	at com.intellij.util.ui.tree.TreeUtil.promiseVisit(TreeUtil.java:1808)
	at com.intellij.util.ui.tree.TreeUtil.promiseMakeVisible(TreeUtil.java:1579)
	at com.intellij.util.ui.tree.TreeUtil.promiseExpand(TreeUtil.java:1014)
	at com.intellij.util.ui.tree.TreeUtil.promiseExpandAll(TreeUtil.java:978)
	at com.intellij.util.ui.tree.TreeUtil.expandAll(TreeUtil.java:954)
	at org.sonarlint.intellij.ui.SonarLintIssuesPanel.expandTree(SonarLintIssuesPanel.java:91)
	at org.sonarlint.intellij.ui.SonarLintIssuesPanel.update(SonarLintIssuesPanel.java:87)
	at org.sonarlint.intellij.ui.CurrentFileController.update(CurrentFileController.java:151)
	at org.sonarlint.intellij.ui.CurrentFileController$EditorChangeListener.selectionChanged(CurrentFileController.java:142)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeMethod(MessageBusImpl.java:645)
	at com.intellij.util.messages.impl.MessageBusImpl.invokeListener(MessageBusImpl.java:620)
	at com.intellij.util.messages.impl.MessageBusImpl.deliverMessage(MessageBusImpl.java:417)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpWaitingBuses(MessageBusImpl.java:390)
	at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:372)
	at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:33)
	at com.intellij.util.messages.impl.MessageBusImpl$MessagePublisher.invoke(MessageBusImpl.java:179)
	at com.sun.proxy.$Proxy103.selectionChanged(Unknown Source)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.lambda$fireSelectionChanged$30(FileEditorManagerImpl.java:1699)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$7.lambda$run$0(FileEditorManagerImpl.java:1181)
	at com.intellij.openapi.util.ExpirableRunnable$1.run(ExpirableRunnable.java:17)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:184)
	at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:101)
	at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:186)
	at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:140)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:175)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:181)
	at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:41)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$7.run(FileEditorManagerImpl.java:1180)
	at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:105)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1177)
	at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.fireSelectionChanged(FileEditorManagerImpl.java:1699)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters.lambda$setCurrentWindow$9(EditorsSplitters.java:720)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters.setCurrentWindow(EditorsSplitters.java:729)
	at com.intellij.openapi.fileEditor.impl.EditorsSplitters$MyFocusWatcher.focusedComponentChanged(EditorsSplitters.java:872)
	at com.intellij.openapi.wm.FocusWatcher._setFocused(FocusWatcher.java:160)
	at com.intellij.openapi.wm.FocusWatcher.setFocusedComponentImpl(FocusWatcher.java:155)
	at com.intellij.openapi.wm.FocusWatcher.focusGained(FocusWatcher.java:95)
	at java.desktop/java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:228)
	at java.desktop/java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:227)
	at java.desktop/java.awt.Component.processFocusEvent(Component.java:6543)
	at java.desktop/java.awt.Component.processEvent(Component.java:6410)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5029)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1962)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1061)
	at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:680)
	at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.java:42)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4910)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4861)
	at java.desktop/sun.awt.SunToolkit$1.run(SunToolkit.java:511)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	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.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:891)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:760)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:447)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:818)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:446)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:498)
	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)

It seems the error is gone by using the latest version. It helped us find another problem so thank you Pierre :slight_smile:

I will close this thread, feel free to reopen a new one if the error comes back

1 Like