This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Sometimes, I receive the following error. java.lang.IllegalArgumentException: Width (-1) and height (-1) cannot be <= 0 at java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:999) at org.openide.util.IconManager.createBufferedImage(IconManager.java:258) at org.openide.util.IconManager.toBufferedImage(IconManager.java:218) at org.openide.util.IconManager.getIcon(IconManager.java:142) at org.openide.util.IconManager.getIcon(IconManager.java:85) at org.openide.util.Utilities.loadImage(Utilities.java:2097) at org.openide.nodes.AbstractNode.findIcon(AbstractNode.java:242) at org.openide.nodes.AbstractNode.getIcon(AbstractNode.java:219) at org.netbeans.modules.tasklist.core.TaskNode.getIcon(TaskNode.java:124) at org.openide.explorer.view.NodeRenderer$Tree.getTreeCellRendererComponent(NodeRenderer.java:243) at org.openide.explorer.view.NodeRenderer.getTreeCellRendererComponent(NodeRenderer.java:100) at javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2751) at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:475) at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(VariableHeightLayoutCache.java:1342) at javax.swing.tree.VariableHeightLayoutCache.rebuild(VariableHeightLayoutCache.java:720) at javax.swing.tree.VariableHeightLayoutCache.treeStructureChanged(VariableHeightLayoutCache.java:626) at javax.swing.plaf.basic.BasicTreeUI$TreeModelHandler.treeStructureChanged(BasicTreeUI.java:2469) at javax.swing.tree.DefaultTreeModel.fireTreeStructureChanged(DefaultTreeModel.java:559) at javax.swing.tree.DefaultTreeModel.nodeStructureChanged(DefaultTreeModel.java:345) at javax.swing.tree.DefaultTreeModel.setRoot(DefaultTreeModel.java:117) at org.openide.explorer.view.TreeTableView$SortedNodeTreeModel.setRoot(TreeTableView.java:1116) at org.openide.explorer.view.NodeTreeModel$1.run(NodeTreeModel.java:67) at org.openide.util.Mutex.doEvent(Mutex.java:900) at org.openide.util.Mutex.readAccess(Mutex.java:226) at org.openide.explorer.view.NodeTreeModel.setNode(NodeTreeModel.java:54) at org.openide.explorer.view.TreeView.synchronizeRootContext(TreeView.java:618) at org.openide.explorer.view.TreeView$TreePropertyListener.propertyChange(TreeView.java:771) at org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:131) at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:252) at org.openide.explorer.ExplorerManager.setRootContext(ExplorerManager.java:398) at org.netbeans.modules.tasklist.core.TaskListView.setRoot(TaskListView.java:570) at org.netbeans.modules.tasklist.core.TaskListView.setModel(TaskListView.java:557) at org.netbeans.modules.tasklist.docscan.SourceTasksView.handleCurrentFile(SourceTasksView.java:707) at org.netbeans.modules.tasklist.docscan.SourceTasksView.access$600(SourceTasksView.java:52) at org.netbeans.modules.tasklist.docscan.SourceTasksView$6.actionPerformed(SourceTasksView.java:446) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:273) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245) at java.awt.Component.processMouseEvent(Component.java:5100) at java.awt.Component.processEvent(Component.java:4897) at java.awt.Container.processEvent(Container.java:1569) at java.awt.Component.dispatchEventImpl(Component.java:3615) at java.awt.Container.dispatchEventImpl(Container.java:1627) at java.awt.Component.dispatchEvent(Component.java:3477) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128) at java.awt.Container.dispatchEventImpl(Container.java:1613) at java.awt.Window.dispatchEventImpl(Window.java:1606) at java.awt.Component.dispatchEvent(Component.java:3477) [catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:456) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) It's not always, but each time I received it, it was when I select the Current File tab. Never in other case. I hope it will help you to find the problem.
It used to get it after gc().
I cannot see any relationship with openide/explorer. What about AbstractNode.getIcon() ?
No, the problem is deeper. size of (-1,-1) means that the image was not yet loaded, which is strange as the IconManager "forces" the load (by using ImageIcon, which actually waits for load to finish). I don't know what is the problem, but possible cases: *) corrupted image file (didn't succeed with parsing headers) *) different impl. of ImageIcon (which JDK do you use?)
Petr K., you're able to reproduce it as well?
Really cannot reproduce and the code in IconManager should prevent it for legal (read: not broken) images.
closed