Bug #5260
closedProblems with unknown free-form tags
0%
Description
There are some exceptions and gui malfunctions/lockups that occur that I believe are related to unknown free-form tags. By 'unknown' I mean the owl file that stores free-form tags in ~/.kepler/cache-2.1/modules/core/onto[numbers].owl has been deleted, e.g. by ant clean-cache, or this file has not been updated to contain free-form tags created on a different system, e.g. for a kar open event (not clear to me if that's what should happen, but these foreign tags needs to be made available somewhere).
To replicate:- open kepler
- tag blank workflow with a new tag, e.g. myWorkflowTag
- execute
- File -> Save As to kar
- quit kepler, ant clean-cache, restart kepler
- open kar, tag is visible on workflow.
- click tag X to delete it.
- click on workflow. tag reappears. also the tag is not shown in the drop down menu, and the tag is not in the file in the cache dir.
- also: change to the Reporting view, and see the run row no longer shows the workflow tag. Clicking on a different run row then (sometimes? always?) gives NPEs.
(I'm not clear how to replicate this, but this also occurred to me a few times, and I suspect is related to missing free-form tags: clicking on the tagging drop down button (on Mac) didn't bring up the list, and on linux the tagging drop down once appeared, but froze.)
One NPE comes from ColoredListCellRenderer, another is unclear:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at org.kepler.tagging.gui.ColoredListCellRenderer.getListCellRendererComponent(ColoredListCellRenderer.java:54)
at javax.swing.plaf.basic.BasicComboBoxUI.getDisplaySize(BasicComboBoxUI.java:1334)
at javax.swing.plaf.basic.BasicComboBoxUI.getMinimumSize(BasicComboBoxUI.java:903)
at com.apple.laf.AquaComboBoxUI.getMinimumSize(AquaComboBoxUI.java:507)
at javax.swing.JComponent.getMinimumSize(JComponent.java:1714)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:463)
at javax.swing.BoxLayout.minimumLayoutSize(BoxLayout.java:306)
at java.awt.Container.minimumSize(Container.java:1651)
at java.awt.Container.getMinimumSize(Container.java:1636)
at javax.swing.JComponent.getMinimumSize(JComponent.java:1716)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:463)
at javax.swing.BoxLayout.minimumLayoutSize(BoxLayout.java:306)
at java.awt.Container.minimumSize(Container.java:1651)
at java.awt.Container.getMinimumSize(Container.java:1636)
at javax.swing.JComponent.getMinimumSize(JComponent.java:1716)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:463)
at javax.swing.BoxLayout.minimumLayoutSize(BoxLayout.java:306)
at javax.swing.JToolBar$DefaultToolBarLayout.minimumLayoutSize(JToolBar.java:756)
at java.awt.Container.minimumSize(Container.java:1651)
at java.awt.Container.getMinimumSize(Container.java:1636)
at javax.swing.JComponent.getMinimumSize(JComponent.java:1716)
at javax.swing.BoxLayout.checkRequests(BoxLayout.java:463)
at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:281)
at java.awt.Container.preferredSize(Container.java:1599)
at java.awt.Container.getPreferredSize(Container.java:1584)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1636)
at java.awt.BorderLayout.layoutContainer(BorderLayout.java:798)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validate(Container.java:1480)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.BoxLayout.preferredLayoutSize(BoxLayout.java:282)
at java.awt.Container.preferredSize(Container.java:1599)
at java.awt.Container.getPreferredSize(Container.java:1584)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1636)
at java.awt.BorderLayout.layoutContainer(BorderLayout.java:798)
at java.awt.Container.layout(Container.java:1421)
at java.awt.Container.doLayout(Container.java:1410)
at java.awt.Container.validateTree(Container.java:1507)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validateTree(Container.java:1513)
at java.awt.Container.validate(Container.java:1480)
at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:633)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)