Modify

Opened 12 years ago

Closed 12 years ago

#4208 closed defect (fixed)

Exception while ungluing node/copying relation: Can't assign a changesetId > 0 to a new primitive.

Reported by: Daeron Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: Cc:

Description

Just tried to unglue a node while a way was selected:

Build-Date: 2009-12-20 17:10:30		
Revision: 2665
Is-Local-Build: true

Memory Usage: 391 MB / 910 MB (115 MB allocated, but free)
Java version: 1.6.0_17

Dataset consistency test:
No problems found


Plugins: PicLayer,lakewalker,measurement,wmsplugin
Plugin PicLayer Version: 19062
Plugin lakewalker Version: 18962
Plugin measurement Version: 19058
Plugin wmsplugin Version: 19125

java.lang.IllegalStateException: Can't assign a changesetId > 0 to a new primitive. Value of changesetId is 3 351 721
	at org.openstreetmap.josm.data.osm.OsmPrimitive.setChangesetId(OsmPrimitive.java:656)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.cloneFrom(OsmPrimitive.java:1010)
	at org.openstreetmap.josm.data.osm.Node.cloneFrom(Node.java:117)
	at org.openstreetmap.josm.data.osm.Node.<init>(Node.java:89)
	at org.openstreetmap.josm.actions.UnGlueAction.modifyWay(UnGlueAction.java:289)
	at org.openstreetmap.josm.actions.UnGlueAction.unglueWays(UnGlueAction.java:361)
	at org.openstreetmap.josm.actions.UnGlueAction.actionPerformed(UnGlueAction.java:85)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1633)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2839)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:267)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:216)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2916)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2908)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2802)
	at java.awt.Component.processEvent(Component.java:6040)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4630)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1850)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:712)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:990)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:855)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:676)
	at java.awt.Component.dispatchEventImpl(Component.java:4502)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Attachments (0)

Change History (8)

comment:1 Changed 12 years ago by Daeron

Summary: Excpetion when trying to unglue a nodeException while ungluing node/copying relation: Can't assign a changesetId > 0 to a new primitive.

Also when trying to copy a relation:

Build-Date: 2009-12-20 17:10:30		
Revision: 2665
Is-Local-Build: true

Memory Usage: 319 MB / 910 MB (96 MB allocated, but free)
Java version: 1.6.0_17

Dataset consistency test:
{Way id=46045698 version=1 MVDd nodes=[]} not found using Dataset.searchWays()
{Way id=-4367 version=0 MVDd nodes=[{Node id=-4375 version=0 MVDd lat=60.92048293502104,lon=25.653240333858456}, {Node id=-4365 version=0 V lat=60.9216426,lon=25.6531902}]} reffers to deleted primitive {Node id=-4375 version=0 MVDd lat=60.92048293502104,lon=25.653240333858456}


Plugins: PicLayer,lakewalker,measurement,wmsplugin
Plugin PicLayer Version: 19062
Plugin lakewalker Version: 18962
Plugin measurement Version: 19058
Plugin wmsplugin Version: 19125

java.lang.IllegalStateException: Can't assign a changesetId > 0 to a new primitive. Value of changesetId is 3 356 764
	at org.openstreetmap.josm.data.osm.OsmPrimitive.setChangesetId(OsmPrimitive.java:656)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.cloneFrom(OsmPrimitive.java:1010)
	at org.openstreetmap.josm.data.osm.Relation.cloneFrom(Relation.java:184)
	at org.openstreetmap.josm.data.osm.Relation.<init>(Relation.java:149)
	at org.openstreetmap.josm.data.osm.Relation.<init>(Relation.java:159)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.setRelation(RelationEditor.java:156)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.<init>(RelationEditor.java:125)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor.<init>(GenericRelationEditor.java:104)
	at org.openstreetmap.josm.gui.dialogs.relation.RelationEditor.getEditor(RelationEditor.java:99)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog$DuplicateAction.launchEditorForDuplicate(RelationListDialog.java:388)
	at org.openstreetmap.josm.gui.dialogs.RelationListDialog$DuplicateAction.actionPerformed(RelationListDialog.java:399)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
	at java.awt.Component.processMouseEvent(Component.java:6263)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
	at java.awt.Component.processEvent(Component.java:6028)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4630)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
	at java.awt.Container.dispatchEventImpl(Container.java:2085)
	at java.awt.Window.dispatchEventImpl(Window.java:2475)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

comment:2 Changed 12 years ago by stoecker

Ticket #4213 has been marked as a duplicate of this ticket.

comment:3 Changed 12 years ago by stoecker

Ticket #4217 has been marked as a duplicate of this ticket.

comment:4 Changed 12 years ago by stoecker

Ticket #4221 has been marked as a duplicate of this ticket.

comment:5 Changed 12 years ago by stoecker

Ticket #4244 has been marked as a duplicate of this ticket.

comment:6 Changed 12 years ago by Gubaer

Does somebody have a test data set for this defect?

I tried to reproduce it by replaying the actions described (i.e. "unglue a node while a way was selected") but the defect doesn't show up.

I'll commit a "fix" shortly. It should avoid the defect in the future but I'd still like to know why we run into exception. I'll keep the ticket open.

comment:7 Changed 12 years ago by Gubaer

(In [2696]) see #4208: temporary fix

comment:8 Changed 12 years ago by stoecker

Resolution: fixed
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.