Bug #5197
closederror from provenance when opening KAR from previous version
0%
Description
When I open a workflow from a KAR file that was produced by an earlier version of Kepler, I get an error from provenance 2.1.0 that I do not get from plain Kepler 2.1.0. The stack trace is below.
The KAR file is attached for reference. Once the error occurs, the workflow opens normally and will run, although provenance is disabled (red icon). Pressing the Provenance Toolbar icon to toggle it back on gives the same error message as in the stack trace below.
I am running Java 1.6.0_20 on a MacBookPro 2.66 Ghz Intel Core i7 with 8GB RAM.
ptolemy.kernel.util.NameDuplicationException: Attempt to insert object named "<Unnamed Object>" into a container that already contains an object with that name.
at ptolemy.kernel.util.NamedList.append(NamedList.java:133)
at ptolemy.kernel.util.NamedObj._addAttribute(NamedObj.java:2165)
at ptolemy.kernel.util.Attribute.setContainer(Attribute.java:398)
at org.kepler.provenance.ProvenanceRecorder.setContainer(ProvenanceRecorder.java:316)
at ptolemy.kernel.util.Attribute.<init>(Attribute.java:109)
at ptolemy.kernel.util.Attribute.<init>(Attribute.java:86)
at org.kepler.provenance.ProvenanceRecorder.<init>(ProvenanceRecorder.java:192)
at org.kepler.provenance.ProvenanceRecorder.<init>(ProvenanceRecorder.java:159)
at org.kepler.provenance.gui.ProvenanceConfigureAction.addProvenanceRecorder(ProvenanceConfigureAction.java:238)
at org.kepler.provenance.gui.ProvenanceConfigureAction.<init>(ProvenanceConfigureAction.java:142)
at org.kepler.module.provenance.Initialize.updateFrameComponents(Initialize.java:68)
at org.kepler.gui.KeplerGraphFrame._addMenus(KeplerGraphFrame.java:1315)
at ptolemy.gui.Top$5.run(Top.java:375)
at ptolemy.gui.Top.deferIfNecessary(Top.java:235)
at ptolemy.gui.Top.pack(Top.java:398)
at ptolemy.actor.gui.TableauFrame.pack(TableauFrame.java:296)
at ptolemy.actor.gui.Tableau.show(Tableau.java:355)
at ptolemy.actor.gui.Configuration.createPrimaryTableau(Configuration.java:582)
at ptolemy.actor.gui.Effigy.showTableaux(Effigy.java:492)
at ptolemy.actor.gui.Configuration._openModel(Configuration.java:1197)
at ptolemy.actor.gui.Configuration.openModel(Configuration.java:941)
at ptolemy.actor.gui.Configuration.openModel(Configuration.java:899)
at org.kepler.gui.component.OpenCompositeAction.actionPerformed(OpenCompositeAction.java:187)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.AbstractButton.doClick(AbstractButton.java:389)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)
at com.apple.laf.AquaMenuItemUI.doClick(AquaMenuItemUI.java:137)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)
at java.awt.Component.processMouseEvent(Component.java:6348)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6113)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
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)
Files
Updated by Daniel Crawl about 14 years ago
The provenance recorder was adding itself to the model with an empty name and then setting its name. The model in the attached KAR has a DocAttribute with an empty name, so a NameDuplicationException occurred.
I've checked in a fix to both the trunk and 2.1 branch. To close this bug, I want to publish the fix as a patch to the provenance 2.1 module.
Updated by Daniel Crawl over 13 years ago
2.1 cannot be patched, so I'm closing.