Modify

Opened 3 years ago

Closed 3 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 Component: Core
Version: latest Keywords: split way relation
Cc: osm@…

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

  • Cc osm@… added

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

comment:2 Changed 3 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 follow-up: Changed 3 years ago by bastiK

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

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

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

  • Priority changed from blocker to major

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

  • Resolution fixed deleted
  • Status changed from closed to reopened

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

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

Sorry I was wrong.

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.