Modify

Opened 7 years ago

Closed 3 years ago

#5778 closed defect (fixed)

Can't undelete relations

Reported by: rickmastfan67 Owned by: Nakor
Priority: blocker Milestone:
Component: Plugin undelete Version: latest
Keywords: undelete; relations; cascading error messages Cc:

Description (last modified by Don-vip)

I was just trying to un-delete a relation that somebody accidentally deleted the other day (relation: 452597). When I did that, nothing was restored in JOSM. Then, for the fun of it, I just hit Ctrl-A to see if I could somehow select it if it was really un-deleted, but wasn't shown. When I did that, JOSM threw up an error message.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-12-24 02:31:25
Last Changed Author: Upliner
Revision: 3740
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-12-23 15:38:34 +0100 (Thu, 23 Dec 2010)
Last Changed Rev: 3740

Identification: JOSM/1.5 (3740 en)
Memory Usage: 94 MB / 455 MB (33 MB allocated, but free)
Java version: 1.6.0_23, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Windows 7

Dataset consistency test:
[COMPLETE WITHOUT COORDINATES] {Node id=-1 version=0 MVT } is not incomplete but has null coordinates
Exception during dataset integrity test:
java.lang.NullPointerException
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.searchNodes(DatasetConsistencyTest.java:82)
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.runTest(DatasetConsistencyTest.java:143)
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.runTests(DatasetConsistencyTest.java:157)
	at org.openstreetmap.josm.actions.ShowStatusReportAction.getReportHeader(ShowStatusReportAction.java:69)
	at org.openstreetmap.josm.tools.BugReportExceptionHandler.handleException(BugReportExceptionHandler.java:94)
	at org.openstreetmap.josm.tools.BugReportExceptionHandler.handle(BugReportExceptionHandler.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.awt.EventDispatchThread.handleException(Unknown Source)
	at java.awt.EventDispatchThread.processException(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


Plugin: Create_grid_of_ways (21706)
Plugin: OpeningHoursEditor (24290)
Plugin: RoadSigns (22850)
Plugin: alignways (24815)
Plugin: buildings_tools (23804)
Plugin: colorscheme (21563)
Plugin: download_along (22427)
Plugin: imageryadjust (24866)
Plugin: measurement (22547)
Plugin: michigan_left (22369)
Plugin: openstreetbugs (23747)
Plugin: openvisible (21706)
Plugin: osmarender (22765)
Plugin: restart (24396)
Plugin: reverter (23278)
Plugin: routing (23561)
Plugin: tageditor (21026)
Plugin: tagging-preset-tester (22454)
Plugin: terracer (24713)
Plugin: turnrestrictions (24125)
Plugin: undelete (22365)
Plugin: utilsplugin2 (24792)
Plugin: walkingpapers (22549)
Plugin: waydownloader (21706)
Plugin: wayselector (23103)

java.lang.NullPointerException
	at org.openstreetmap.josm.data.osm.visitor.paint.MapPaintVisitor.drawNode(MapPaintVisitor.java:114)
	at org.openstreetmap.josm.data.osm.visitor.paint.MapPaintVisitor.visitAll(MapPaintVisitor.java:660)
	at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:268)
	at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:448)
	at org.openstreetmap.josm.gui.MapView.paint(MapView.java:527)
	at javax.swing.JComponent.paintChildren(Unknown Source)
	at javax.swing.JSplitPane.paintChildren(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Then JOSM kept throwing up more error messages making it almost impossible to shut it down. And every time I looked at the error report, it was different from the last! So, I found a major cascading bug that could annoy the heck out of anybody because it never ends! (if it ends on your end, you got lucky) The only way I could get JOSM to close was to crash Java via the task manager, hence the "Blocker" tag.

Attachments (2)

rel-way-node.osm (85.8 KB) - added by naoliv 3 years ago.
node-way-rel.osm (90.1 KB) - added by naoliv 3 years ago.

Download all attachments as: .zip

Change History (18)

comment:1 Changed 7 years ago by rickmastfan67

Whoops, forgot to login. That was my report above.

comment:2 Changed 7 years ago by rickmastfan67

Another thing, I was just able to restore relation 452597 via the "revert changeset" plugin. So, you can use relation 1310659 to duplicate this. Exact same thing happens as what I reported above.

comment:3 Changed 7 years ago by bastiK

What do you do exactly when trying to undelete? If rel1310659 isn't deleted at the moment, how can we reproduce?

Last edited 7 years ago by bastiK (previous) (diff)

comment:4 Changed 7 years ago by rickmastfan67

Relation 1310659 IS deleted. And it was deleted earlier when you responded.

http://www.openstreetmap.org/browse/relation/1310659

comment:5 Changed 7 years ago by rickmastfan67

Have you been able to duplicate this yet? Just tested this with 3749 and still able to duplicate it myself with the relation that is deleted in the post above this (1310659).

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-12-29 00:29:48
Last Changed Author: jttt
Revision: 3749
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-12-28 18:40:12 +0100 (Tue, 28 Dec 2010)
Last Changed Rev: 3749

Identification: JOSM/1.5 (3749 en)
Memory Usage: 79 MB / 455 MB (46 MB allocated, but free)
Java version: 1.6.0_23, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Windows 7

Dataset consistency test:
[COMPLETE WITHOUT COORDINATES] {Node id=-1 version=0 MVT } is not incomplete but has null coordinates
Exception during dataset integrity test:
java.lang.NullPointerException
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.searchNodes(DatasetConsistencyTest.java:82)
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.runTest(DatasetConsistencyTest.java:143)
	at org.openstreetmap.josm.data.osm.DatasetConsistencyTest.runTests(DatasetConsistencyTest.java:157)
	at org.openstreetmap.josm.actions.ShowStatusReportAction.getReportHeader(ShowStatusReportAction.java:69)
	at org.openstreetmap.josm.tools.BugReportExceptionHandler.handleException(BugReportExceptionHandler.java:94)
	at org.openstreetmap.josm.tools.BugReportExceptionHandler.handle(BugReportExceptionHandler.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at java.awt.EventDispatchThread.handleException(Unknown Source)
	at java.awt.EventDispatchThread.processException(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


Plugin: Create_grid_of_ways (21706)
Plugin: OpeningHoursEditor (24290)
Plugin: RoadSigns (22850)
Plugin: alignways (24815)
Plugin: buildings_tools (23804)
Plugin: colorscheme (21563)
Plugin: download_along (22427)
Plugin: imageryadjust (24866)
Plugin: measurement (22547)
Plugin: michigan_left (22369)
Plugin: openstreetbugs (23747)
Plugin: openvisible (21706)
Plugin: osmarender (22765)
Plugin: restart (24396)
Plugin: reverter (24887)
Plugin: routing (23561)
Plugin: tageditor (21026)
Plugin: tagging-preset-tester (22454)
Plugin: terracer (24889)
Plugin: turnrestrictions (24125)
Plugin: undelete (22365)
Plugin: utilsplugin2 (24792)
Plugin: walkingpapers (22549)
Plugin: waydownloader (21706)
Plugin: wayselector (23103)

java.lang.NullPointerException
	at org.openstreetmap.josm.gui.DefaultNameFormatter.format(DefaultNameFormatter.java:113)
	at org.openstreetmap.josm.data.osm.Node.getDisplayName(Node.java:218)
	at org.openstreetmap.josm.gui.OsmPrimitivRenderer.getComponentText(OsmPrimitivRenderer.java:96)
	at org.openstreetmap.josm.gui.OsmPrimitivRenderer.renderer(OsmPrimitivRenderer.java:69)
	at org.openstreetmap.josm.gui.OsmPrimitivRenderer.getListCellRendererComponent(OsmPrimitivRenderer.java:44)
	at javax.swing.plaf.basic.BasicListUI.updateLayoutState(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.getPreferredSize(Unknown Source)
	at javax.swing.JComponent.getPreferredSize(Unknown Source)
	at javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
	at java.awt.Container.layout(Unknown Source)
	at java.awt.Container.doLayout(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validateTree(Unknown Source)
	at java.awt.Container.validate(Unknown Source)
	at javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

I also have noticed that whenever I reselect the "un-delete" option that it always reverts back to "node". This behaviour is completely different from, say, "Download Object" where it remebers what type of item you downloaded last. Maybe this has something to do with this problem? Is the "un-delete" thinking that it should download a node with the ID of 1310659 instead of the relation with the same ID?

comment:6 Changed 7 years ago by bastiK

See [o24905] (add rudimentary support for undeleting relations)

comment:7 Changed 7 years ago by bastiK

Undeleting relations was not implemented at all. I added partial support: If all relation members are visible (not deleted), it should work. Please keep the ticket open.

comment:8 Changed 7 years ago by bastiK

Summary: Can't undelete relations results into never ending cascading error messagesCan't undelete relations

comment:9 Changed 7 years ago by skyper

Sadly no improvement so far (r4177).

But the Exception changed due to o24905 tested with relation 1310659:

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-06-27 01:31:44
Last Changed Author: stoecker
Revision: 4177
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-06-26 17:45:48 +0200 (Sun, 26 Jun 2011)
Last Changed Rev: 4177

Identification: JOSM/1.5 (4177 en)
Memory Usage: 26 MB / 248 MB (6 MB allocated, but free)
Java version: 1.6.0_18, Sun Microsystems Inc., OpenJDK Client VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: Curves (16.master-4f7c5a0)
Plugin: OpeningHoursEditor (26174)
Plugin: alignways (26174)
Plugin: buildings_tools (26174)
Plugin: multipoly-convert (26174)
Plugin: reltoolbox (26174)
Plugin: reverter (26174)
Plugin: terracer (26174)
Plugin: turnlanes (26192)
Plugin: undelete (26174)
Plugin: utilsplugin2 (26174)
Plugin: waydownloader (26174)

java.lang.NoClassDefFoundError: org/openstreetmap/josm/actions/downloadtasks/DownloadPrimitiveTask
	at org.openstreetmap.josm.plugins.undelete.Undelete.undelete(Undelete.java:151)
	at org.openstreetmap.josm.plugins.undelete.Undelete$UndeleteAction.actionPerformed(Undelete.java:124)
	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.AbstractButton.doClick(AbstractButton.java:374)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:829)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:873)
	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.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)
Caused by: java.lang.ClassNotFoundException: org.openstreetmap.josm.actions.downloadtasks.DownloadPrimitiveTask
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
	... 41 more

comment:10 in reply to:  9 Changed 7 years ago by rickmastfan67

Replying to skyper:

Sadly no improvement so far (r4177).

But the Exception changed due to o24905 tested with relation 1310659:

Well, the reason is because relation 1310659's only way in the relation is also deleted. bastiK said in comment:7 that if the way is also deleted, it wouldn't work (yet). Thus, that's why it crashed on ya.

comment:11 Changed 5 years ago by Don-vip

Description: modified (diff)
Reporter: changed from anonymous to rickmastfan67

comment:12 Changed 5 years ago by rickmastfan67

Just wanted to post an update for this ticket. With all the recent modifications to the "undelete" plugin, you can now undelete relation 1310659 and not have the plugin crash. However, a new problem has shown up.

The new bug is that when ever the relation is undeleted, it DOESN'T show up in the "Relations" panel on the right of the screen. No matter what you do that I can tell will make it show up there. The only way to select the "undeleted" relation is to do a "Ctrl+A" to select everything on the layer. But you then can't really add anything or delete from the relation. If you do try that, then you'll have JOSM crash and give you a bug report (shown below) after you hit the "ok" button to save the changes.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2013-05-06 01:34:24
Last Changed Author: Don-vip
Revision: 5932
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2013-05-06 02:53:50 +0200 (Mon, 06 May 2013)
Last Changed Rev: 5932

Identification: JOSM/1.5 (5932 en) Windows 7 64-Bit
Memory Usage: 213 MB / 2730 MB (132 MB allocated, but free)
Java version: 1.7.0_21, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Xmx3072M]

Dataset consistency test:
[DELETED REFERENCED] {Relation id=1310659 version=2 MT [way 88609546, way -9]} refers to deleted primitive {Way id=88609546 version=2 D nodes=[]}


Plugin: ImageryCache (29484)
Plugin: OpeningHoursEditor (29435)
Plugin: buildings_tools (29435)
Plugin: mapdust (29525)
Plugin: measurement (29545)
Plugin: mirrored_download (29505)
Plugin: openstreetbugs (29435)
Plugin: osmarender (29435)
Plugin: reverter (29561)
Plugin: turnrestrictions (29435)
Plugin: undelete (29555)
Plugin: utilsplugin2 (29435)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted member referenced: {Relation id=1310659 version=2 MT [way 88609546, way -9]}
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:490)
	at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:497)
	at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:61)
	at org.openstreetmap.josm.data.osm.Relation.cloneFrom(Relation.java:225)
	at org.openstreetmap.josm.command.ChangeCommand.executeCommand(ChangeCommand.java:43)
	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.relation.GenericRelationEditor$SavingAction.applyExistingNonConflictingRelation(GenericRelationEditor.java:1221)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$OKAction.run(GenericRelationEditor.java:1332)
	at org.openstreetmap.josm.gui.dialogs.relation.GenericRelationEditor$OKAction.actionPerformed(GenericRelationEditor.java:1339)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

comment:13 Changed 4 years ago by skyper

This is really annoying. Just did not think about this issue and gave an advise to restore a relation this way.

It is even stranger as it works with open location by using ("latest version" -1).

comment:14 Changed 3 years ago by malenki

IMHO this ticket can be closed since undeleting relations is possible now. For the later mentioned behaviour I created
#10985 and #10986

comment:15 Changed 3 years ago by naoliv

It seems that there is an issue with the order of objects used to restore deleted data.
For example, using this (relation first, ways and then nodes):

r1627937 w253719075 w309099036 w253716641 w117976433 w117976452 w117976470 w117976468 w117976474 w117976466 w117976444 w117976503 w117976562 w117976489 w124253243 w253719231 w253716916 w294898907 w124253294 w49734452 w49734453 w124253207 w124253215 w124253292 w124253256 w124253228 w124253291 n2596072120 n2596072107 n2596072155 n2596072201 n2596072206 n2596072130 n2596072125 n3144115720 n3144115721 n3144115722 n3144115723 n3144115724 n3144115725 n3144115726 n3144115727 n3144115728 n3144115929 n2596071253 n2596071234 n2596071209 n2596071181 n2596071144 n2596071117 n2596071110 n2596071109 n2596071116 n2596071147 n2596071177 n1327926868 n1327927237 n1327927489 n1327926748 n1327927184 n1327927116 n1327927379 n1327926633 n1327927231 n1327927584 n1327926746 n1327927087 n1327927329 n1327926613 n1327926836 n1327926569 n1327926788 n1327927134 n1327927387 n1327926646 n1327926884 n1327927246 n1327927501 n1327927418 n1327926595 n1327926909 n1327927156 n1327927527 n1327926682 n1327927031 n1327927275 n1327926965 n1327927207 n1327927563 n1327926728 n1327927077 n1327927319 n1327926600 n1327926824 n1327926766 n1327926996 n1327927352 n1327926535 n1327926850 n1327927103 n1327927468 n1327926993 n1327926690 n1327926912 n1327927278 n1327927090 n1327927458 n1327926614 n1327926951 n1327926668 n1327927017 n1327927267 n1327926554 n1327926777 n1327926705 n1327926935 n1327927294 n1327926580 n1327927343 n1327926524 n1327926840 n1327927541 n1327926802 n1327927051 n1327927412 n1327926624 n1327926904 n1327927151 n1327927515 n1383421618 n1383421723 n1383421840 n1383421894 n1383421953 n1383422001 n1383422058 n1383422110 n1383422151 n1383422182 n1383422221 n1383422239 n1383422284 n1383422303 n1383422305 n1383422306 n1383422304 n1383422314 n1383422322 n1383422320 n1383422312 n1383422316 n1383422328 n1383422330 n1383422294 n1383422280 n1383422247 n1383422211 n1383422173 n1383422162 n1383422135 n1383422139 n1383422070 n1383422069 n1383422049 n3036259456 n3036259457 n3036259459 n1383421970 n3036259458 n1383421908 n3036315215 n3036315216 n1383421883 n1383421867 n1383421858 n1383421842 n1383421828 n1383421810 n1383421807 n1383421651 n1383421632 n1383421625 n2596070880 n2596070879 n2596070876 n2596070857 n2596070853 n2596070844 n2596070841 n2596070847 n2596070858 n2596070868 n2596070877 n2596070676 n2596070665 n2596070671 n2596070663 n2596070640 n2596070648 n2596070631 n2596070578 n2596070574 n2596070531 n2596070532 n2596070509 n2596070511 n2596070595 n2596070605 n2985394862 n2985394863 n2985394864 n2985394865 n2985394866 n2985394867 n1383421885 n632025791 n632025792 n632025793 n632025794 n632025760 n632025761 n632025762 n632025763 n632025764 n1383421577 n632025765 n2702374821 n2702374819 n632025766 n632025767 n632025768 n632025769 n632025770 n632025771 n632025773 n632025774 n632025775 n1383421812 n632025799 n632025798 n632025797 n632025796 n632025795 n1383421669 n1383421665 n1383421675 n1383421769 n1383421847 n1383421996 n1383422053 n1383422087 n1383422155 n1383422201 n1383422245 n1383422281 n1383422299 n1383421780 n1383421767 n1383421736 n1383421691 n1383421671 n1383421654 n1383421599 n1383421595 n1383421572 n1383421512 n1383421435 n1383421409 n1383421379 n1383421340 n632025789 n1383421826 n1383421892 n1383421825 n1383421764 n1383421713 n1383421639 n1383421583 n1383421504 n1383421492 n1383421527 n1383421548 n1383421558 n1383421615 n1383421890 n1383421881 n1383421879 n1383421874 n1383421861 n1383421856 n1383421855 n1383421425 n1383421427 n1383421458 n1383421472 n1383421488 n1383421482 n1383421473 n1383421485 n1383421465 n1383421456 n1383421448 n1383421433 n1383421423 n1383421421 n2702395594 n1383421354 n1383421346 n1383421343 n1383421338 n1383421307 n1383421286 n1383421269 n1383421267 n1383421271 n1383421283 n1383421359 n3416858670 n3416860890 n2726220710 n3036305907 n3036305944

I get some incomplete objects (see rel-way-node.osm where there are some loose/unconnected nodes, while there should be a relation and some ways).
Now using the same objects but using the nodes first, ways and then the relation (ie, n... w... r1627937) I see a correct result (see node-way-rel.osm)

It seems that undelete should sort the objects (node, way, relation) before undeleting/processing them?

Changed 3 years ago by naoliv

Attachment: rel-way-node.osm added

Changed 3 years ago by naoliv

Attachment: node-way-rel.osm added

comment:16 Changed 3 years ago by malenki

Resolution: fixed
Status: newclosed

I am closing this ticket since the original issue is resolved.

Other issues should be addressed in other tickets as is done for #10985 and #10986.
When looking at a ticket named "Can't undelete relations" I wouldn't expect to find the original issue solved and other issues addressed. This is no usenet, after all. ;)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Nakor.
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.