Opened 15 years ago
Last modified 11 years ago
#5778 closed defect
Can't undelete relations — at Version 11
| 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 )
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.
Change History (11)
comment:1 by , 15 years ago
comment:2 by , 15 years ago
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 by , 15 years ago
What do you do exactly when trying to undelete? If rel1310659 isn't deleted at the moment, how can we reproduce?
comment:4 by , 15 years ago
Relation 1310659 IS deleted. And it was deleted earlier when you responded.
comment:5 by , 15 years ago
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:7 by , 15 years ago
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 by , 15 years ago
| Summary: | Can't undelete relations results into never ending cascading error messages → Can't undelete relations |
|---|
follow-up: 10 comment:9 by , 15 years ago
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 by , 15 years ago
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 by , 13 years ago
| Description: | modified (diff) |
|---|---|
| Reporter: | changed from to |



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