Modify

Opened 3 years ago

Closed 3 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 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 3 years ago by Daeron

  • Summary changed from Excpetion when trying to unglue a node to Exception 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 3 years ago by stoecker

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

comment:3 Changed 3 years ago by stoecker

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

comment:4 Changed 3 years ago by stoecker

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

comment:5 Changed 3 years ago by stoecker

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

comment:6 Changed 3 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 3 years ago by Gubaer

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

comment:8 Changed 3 years ago by stoecker

  • Resolution set to fixed
  • Status changed from new to closed

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed .
as The resolution will be set. Next status will be 'closed'.
The resolution will be deleted. Next status will be 'reopened'.
Author


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

 
Note: See TracTickets for help on using tickets.