Opened 15 years ago

Last modified 5 years ago

#6529 closed defect

Deleting locally referenced objects in conflict resolution breaks data integrity — at Version 3

Reported by: phobie Owned by: team
Priority: critical Milestone: 20.11
Component: Core Version: latest
Keywords: conflict Cc: andrei280366@…, alex@…, latte_oz, naoliv, mcheck, Luebeck, josm-openstreetmap-de.20.quedel@…, Nitrix, ff5722

Description (last modified by Don-vip)

  • Downloaded a osm-file from geofabrik
  • cut out an area with osmosis
  • loaded it into JOSM
  • Searched for "tourism=*"
  • Clicked on file -> update selected
  • JOSM told me that it found 3 conflicts (nodes had been deleted on OSM) while my command-list was empty.
  • I clicked on resolve
  • accepted remote version
  • clicked apply and the exception raised...
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-07-01 01:31:46
Last Changed Author: stoecker
Revision: 4187
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-06-30 18:08:51 +0200 (Thu, 30 Jun 2011)
Last Changed Rev: 4187

Identification: JOSM/1.5 (4187 de)
Memory Usage: 153 MB / 910 MB (41 MB allocated, but free)
Java version: 1.6.0_18, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Operating system: Linux

Dataset consistency test:
[DELETED REFERENCED] {Way id=29049015 version=9 D nodes=[{Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=662412474 version=2 Vh lat=53.8739184,lon=10.6911367}, {Node id=319513157 version=2 V lat=53.8739354,lon=10.6910824}, {Node id=319513556 version=2 V lat=53.8739277,lon=10.6910798}, {Node id=319513156 version=2 V lat=53.8738342,lon=10.6910195}, {Node id=662412462 version=2 Vh lat=53.8738226,lon=10.6910837}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}]} refers to deleted primitive {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}
[DELETED REFERENCED] {Way id=29049015 version=9 D nodes=[{Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=662412474 version=2 Vh lat=53.8739184,lon=10.6911367}, {Node id=319513157 version=2 V lat=53.8739354,lon=10.6910824}, {Node id=319513556 version=2 V lat=53.8739277,lon=10.6910798}, {Node id=319513156 version=2 V lat=53.8738342,lon=10.6910195}, {Node id=662412462 version=2 Vh lat=53.8738226,lon=10.6910837}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}]} refers to deleted primitive {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}
[DELETED REFERENCED] {Way id=29049015 version=9 D nodes=[{Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=662412474 version=2 Vh lat=53.8739184,lon=10.6911367}, {Node id=319513157 version=2 V lat=53.8739354,lon=10.6910824}, {Node id=319513556 version=2 V lat=53.8739277,lon=10.6910798}, {Node id=319513156 version=2 V lat=53.8738342,lon=10.6910195}, {Node id=662412462 version=2 Vh lat=53.8738226,lon=10.6910837}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}]} refers to deleted primitive {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}
[DELETED REFERENCED] {Way id=119793009 version=2 D nodes=[{Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=319513158 version=2 V lat=53.8737868,lon=10.6913029}, {Node id=319513298 version=4 V lat=53.8738666,lon=10.6913478}, {Node id=319513159 version=2 V lat=53.8738877,lon=10.6912597}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}]} refers to deleted primitive {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}
[DELETED REFERENCED] {Way id=119793009 version=2 D nodes=[{Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=319513158 version=2 V lat=53.8737868,lon=10.6913029}, {Node id=319513298 version=4 V lat=53.8738666,lon=10.6913478}, {Node id=319513159 version=2 V lat=53.8738877,lon=10.6912597}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}]} refers to deleted primitive {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}
[DELETED REFERENCED] {Way id=119793009 version=2 D nodes=[{Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=319513158 version=2 V lat=53.8737868,lon=10.6913029}, {Node id=319513298 version=4 V lat=53.8738666,lon=10.6913478}, {Node id=319513159 version=2 V lat=53.8738877,lon=10.6912597}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}]} refers to deleted primitive {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}


Plugin: OpeningHoursEditor (26219)
Plugin: RoadSigns (26174)
Plugin: SimplifyArea (26174)
Plugin: alignways (26174)
Plugin: editgpx (26174)
Plugin: measurement (26174)
Plugin: openstreetbugs (26174)
Plugin: plastic_laf (26174)
Plugin: public_transport (26174)
Plugin: reverter (26174)
Plugin: turnrestrictions (26174)
Plugin: undelete (26196)
Plugin: waydownloader (26174)
Plugin: wayselector (26174)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=119793009 version=2 D nodes=[{Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}, {Node id=319513158 version=2 V lat=53.8737868,lon=10.6913029}, {Node id=319513298 version=4 V lat=53.8738666,lon=10.6913478}, {Node id=319513159 version=2 Vh lat=53.8738877,lon=10.6912597}, {Node id=1345044966 version=2 D lat=53.8739056,lon=10.6911907}, {Node id=1345044965 version=2 D lat=53.8738144,lon=10.6911442}]}
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:477)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:489)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:66)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays(DataSet.java:765)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkReferencesToPrimitive(DataSet.java:814)
	at org.openstreetmap.josm.command.DeletedStateConflictResolveCommand.executeCommand(DeletedStateConflictResolveCommand.java:67)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:53)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:36)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:58)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog$ApplyResolutionAction.actionPerformed(ConflictResolutionDialog.java:265)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6136)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:5901)
	at java.awt.Container.processEvent(Container.java:2105)
	at java.awt.Component.dispatchEventImpl(Component.java:4497)
	at java.awt.Container.dispatchEventImpl(Container.java:2163)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
	at java.awt.Container.dispatchEventImpl(Container.java:2149)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
	at java.awt.EventQueue.access$000(EventQueue.java:96)
	at java.awt.EventQueue$1.run(EventQueue.java:608)
	at java.awt.EventQueue$1.run(EventQueue.java:606)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
	at java.awt.EventQueue$2.run(EventQueue.java:622)
	at java.awt.EventQueue$2.run(EventQueue.java:620)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
	at java.awt.Dialog$1.run(Dialog.java:1072)
	at java.awt.Dialog$3.run(Dialog.java:1126)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Dialog.java:1124)
	at java.awt.Component.show(Component.java:1492)
	at java.awt.Component.setVisible(Component.java:1444)
	at java.awt.Window.setVisible(Window.java:842)
	at java.awt.Dialog.setVisible(Dialog.java:1011)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.setVisible(ConflictResolutionDialog.java:117)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.resolve(ConflictDialog.java:150)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.access$000(ConflictDialog.java:58)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$1.mouseClicked(ConflictDialog.java:87)
	at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
	at java.awt.Component.processMouseEvent(Component.java:6139)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:5901)
	at java.awt.Container.processEvent(Container.java:2105)
	at java.awt.Component.dispatchEventImpl(Component.java:4497)
	at java.awt.Container.dispatchEventImpl(Container.java:2163)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4134)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
	at java.awt.Container.dispatchEventImpl(Container.java:2149)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4323)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
	at java.awt.EventQueue.access$000(EventQueue.java:96)
	at java.awt.EventQueue$1.run(EventQueue.java:608)
	at java.awt.EventQueue$1.run(EventQueue.java:606)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
	at java.awt.EventQueue$2.run(EventQueue.java:622)
	at java.awt.EventQueue$2.run(EventQueue.java:620)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)

Change History (4)

by phobie, 15 years ago

Attachment: innenstadt.osm.bz2 added

OSM-file of the centre of Lübeck, osmosis extract out of schleswig-holstein.osm.bz2, copyright CC-BY-SA by OpenStreetMap and contributors

comment:1 by stoecker, 15 years ago

Priority: normalmajor
Summary: exception during conflict resolutionDeleting locally referenced objects in conflict resolution breaks data integrity

Additional description: Whenever an object is still referenced locally and conflict resolution deletes it, the result is a dataset integrity error. Conflict resolution either should also remove references or prevent resolving as long as there are references.

References are already displayed, but not handled correctly.

comment:2 by rickmastfan67, 15 years ago

Is this bug of mine (#6527) possibly the same thing?

comment:3 by Don-vip, 14 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.