Modify

Opened 14 years ago

Closed 14 years ago

#4964 closed defect (fixed)

exception undo "node-merge" with nodes children of relations.

Reported by: skyper Owned by: team
Priority: major Milestone:
Component: Core Version: latest
Keywords: undo node merge relation Cc:

Description

Hi

Thanks for your work guys/girls.

I merged 2 nodes which are members of several restrictions-relation. Some relations changed. I tried to undo the merge and got the exception. Seems to me there are still some bugs in this weeks changes

It is not that easy to reproduces, but it happend to me twice within 30 minites editing on a fresh downloaded area. Sorry I do not have much time right now, but maybe I can set up an example the next days.

r3213, openjdk

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-04-28 01:31:37
Last Changed Author: bastiK
Revision: 3213
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-04-27 19:04:10 +0200 (Tue, 27 Apr 2010)
Last Changed Rev: 3213

Memory Usage: 159 MB / 1820 MB (56 MB allocated, but free)
Java version: 1.6.0_0, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Operating system: Linux

Dataset consistency test:
[DELETED REFERENCED] {Relation id=721646 version=1 MVT [Weg 57017907, Knotenpunkt 565543842]} refers to deleted primitive {Node id=565543842 version=2 MVD lat=48.0026071,lon=7.8205897}


Plugins: validator
Plugin validator (Version: 20799)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=721646 version=1 MVT [Weg 7017907, Knotenpunkt 565543842]}
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:395)
	at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:402)
	at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:51)
	at org.openstreetmap.josm.data.osm.Relation.load(Relation.java:198)
	at org.openstreetmap.josm.command.Command.undoCommand(Command.java:95)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommands(SequenceCommand.java:76)
	at org.openstreetmap.josm.command.SequenceCommand.undoCommand(SequenceCommand.java:81)
	at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:76)
	at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:34)
	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:6108)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
	at java.awt.Component.processEvent(Component.java:5873)
	at java.awt.Container.processEvent(Container.java:2105)
	at java.awt.Component.dispatchEventImpl(Component.java:4469)
	at java.awt.Container.dispatchEventImpl(Container.java:2163)
	at java.awt.Component.dispatchEvent(Component.java:4295)
	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:4295)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
	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)

console.log:

Using /usr/lib/jvm/java-6-openjdk/bin/java to execute josm.
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-04-28 01:31:37
Last Changed Author: bastiK
Revision: 3213
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-04-27 19:04:10 +0200 (Tue, 27 Apr 2010)
Last Changed Rev: 3213

lade Plugin 'validator' (Version 20799)
GET http://api.openstreetmap.org/api/capabilities... OK
Kommunikation mit http://api.openstreetmap.org/api mittels Protokollversion 0.6 etabliert.
GET http://api.openstreetmap.org/api/0.6/map?bbox=7.8178775,48.0012152,7.8217935999999995,48.002894999999995
Silent shortcut conflict: 'relationeditor:sort' moved by 'menu:Tools' to 'Alt+D'.
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=-744 version=0 VT [Weg -728, Weg -741, Knotenpunkt 565543841]}
        at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:395)
        at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:402)
        at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:51)
        at org.openstreetmap.josm.data.osm.Relation.load(Relation.java:198)
        at org.openstreetmap.josm.command.Command.undoCommand(Command.java:95)
        at org.openstreetmap.josm.command.SequenceCommand.undoCommands(SequenceCommand.java:76)
        at org.openstreetmap.josm.command.SequenceCommand.undoCommand(SequenceCommand.java:81)
        at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:76)
        at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:34)
        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:6108)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:5873)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4469)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Component.dispatchEvent(Component.java:4295)
        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:4295)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
        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)
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=-744 version=0 VT [Weg -741, Knotenpunkt 565543841]}
        at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:395)
        at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:402)
        at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:51)
        at org.openstreetmap.josm.data.osm.Relation.cloneFrom(Relation.java:183)
        at org.openstreetmap.josm.command.ChangeCommand.executeCommand(ChangeCommand.java:45)
        at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:51)
        at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:38)
        at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:64)
        at org.openstreetmap.josm.actions.mapmode.DeleteAction.doActionPerformed(DeleteAction.java:153)
        at org.openstreetmap.josm.actions.DeleteAction.actionPerformed(DeleteAction.java:28)
        at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1658)
        at javax.swing.JComponent.processKeyBinding(JComponent.java:2851)
        at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:285)
        at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:234)
        at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2928)
        at javax.swing.JComponent.processKeyBindings(JComponent.java:2920)
        at javax.swing.JComponent.processKeyEvent(JComponent.java:2814)
        at java.awt.Component.processEvent(Component.java:5885)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4469)
        at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1881)
        at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:749)
        at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1025)
        at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:892)
        at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:713)
        at java.awt.Component.dispatchEventImpl(Component.java:4339)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Window.dispatchEventImpl(Window.java:2478)
        at java.awt.Component.dispatchEvent(Component.java:4295)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
        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)
PUT http://api.openstreetmap.org/api/0.6/changeset/create... OK
POST http://api.openstreetmap.org/api/0.6/changeset/4556743/upload... OK
PUT http://api.openstreetmap.org/api/0.6/changeset/4556743/close... OK
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=721646 version=1 MVT [Weg 57017907, Knotenpunkt 565543842]}
        at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:395)
        at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:402)
        at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:51)
        at org.openstreetmap.josm.data.osm.Relation.load(Relation.java:198)
        at org.openstreetmap.josm.command.Command.undoCommand(Command.java:95)
        at org.openstreetmap.josm.command.SequenceCommand.undoCommands(SequenceCommand.java:76)
        at org.openstreetmap.josm.command.SequenceCommand.undoCommand(SequenceCommand.java:81)
        at org.openstreetmap.josm.data.UndoRedoHandler.undo(UndoRedoHandler.java:76)
        at org.openstreetmap.josm.actions.UndoAction.actionPerformed(UndoAction.java:34)
        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:6108)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:5873)
        at java.awt.Container.processEvent(Container.java:2105)
        at java.awt.Component.dispatchEventImpl(Component.java:4469)
        at java.awt.Container.dispatchEventImpl(Container.java:2163)
        at java.awt.Component.dispatchEvent(Component.java:4295)
        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:4295)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
        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)

Attachments (1)

test.osm (2.4 KB ) - added by skyper 14 years ago.
test osm

Download all attachments as: .zip

Change History (4)

comment:1 by skyper, 14 years ago

I attach an test file

by skyper, 14 years ago

Attachment: test.osm added

test osm

comment:2 by skyper, 14 years ago

just merge node "A" and "B"

comment:3 by bastiK, 14 years ago

Resolution: fixed
Status: newclosed

(In [3217]) fixed #4971 NullPointerException at OsmReader.java:586, caused by NullPointerException at Storage.java:317;
fixed #4964 exception undo "node-merge" with nodes children of relations.

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. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.