Modify

Opened 14 years ago

Closed 14 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 by malenki, 14 years ago

Cc: malenki added

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

comment:2 by skyper, 14 years ago

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 by bastiK, 14 years ago

Resolution: fixed
Status: newclosed

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

in reply to:  3 comment:4 by anonymous, 14 years ago

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 by skyper, 14 years ago

Resolution: fixed
Status: closedreopened

comment:6 by bastiK, 14 years ago

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 by skyper, 14 years ago

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. 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.