Modify

Opened 10 years ago

Closed 10 years ago

#4818 closed defect (fixed)

undo after merging two ways being members of relations isn't possible

Reported by: Cobra Owned by: team
Priority: major Milestone:
Component: Core Version: latest
Keywords: split way relation Cc: malenki

Description

After merging two ways and applying the proposed solution for the conflict of the members (keep/remove), undoing this isn't possible and results in the follwing error.

I merged way 42049950 and way 47450893 and wanted to undo this (for looking at the old ways, the merge itself was correct). I'll leave the data as it is (ways unmerged) until this bug is fixed since this is a sure method to reproduce it.

I rated this bug as "blocker" because such actions can't be undone without discarding all changes.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-03-28 01:31:26
Last Changed Author: bastiK
Revision: 3160
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-03-27 19:55:11 +0100 (Sat, 27 Mar 2010)
Last Changed Rev: 3160

Memory Usage: 34 MB / 595 MB (4 MB allocated, but free)
Java version: 1.6.0_17, Sun Microsystems Inc., Java HotSpot(TM) Client VM
Operating system: Linux

Dataset consistency test:
[DELETED REFERENCED] {Relation id=375758 version=6 VT [way 42049950, way 47450893]} refers to deleted primitive {Way id=47450893 version=3 MVDT nodes=[]}


Plugins: PicLayer,colorscheme,measurement,openstreetbugs,openvisible,remotecontrol,validator,wmsplugin
Plugin openstreetbugs (Version: 20683)
Plugin colorscheme (Version: 19426)
Plugin wmsplugin (Version: 20566)
Plugin openvisible (Version: 20067)
Plugin PicLayer (Version: 20217)
Plugin remotecontrol (Version: 19946)
Plugin validator (Version: 20579)
Plugin measurement (Version: 19681)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=375758 version=6 VT [way 42049950, way 47450893]}
	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.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 (7)

comment:1 Changed 10 years ago by malenki

Cc: malenki added

Ran into this error right now. Pretty ugly. ;(

comment:2 Changed 10 years ago by skyper

Keywords: split way relation added

I ran it this too. I think it JOSM even split the ways because I saved after the exception and restarted JOSM again. But, yes, it is pretty ugly.

Thanks for your work

skyper

comment:3 Changed 10 years ago by bastiK

Resolution: fixed
Status: newclosed

(In [3170]) fixed #4818 - undo after merging two ways being members of relations isn't possible

comment:4 in reply to:  3 Changed 10 years ago by anonymous

Priority: blockermajor

Replying to bastiK:

(In [3170]) fixed #4818 - undo after merging two ways being members of relations isn't possible

This prevents the exception but does not fix the bug.

comment:5 Changed 10 years ago by skyper

Resolution: fixed
Status: closedreopened

comment:6 Changed 10 years ago by bastiK

I can combine the 2 ways and undo afterwards. Can you describe the bug that remains to be fixed and how to see the problem?

comment:7 Changed 10 years ago by skyper

Resolution: fixed
Status: reopenedclosed

Sorry I was wrong.

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.