#5773 closed defect (fixed)
exception at repairing double nodes
Reported by: | malenki | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core validator | Version: | latest |
Keywords: | Cc: | naoliv |
Description (last modified by )
how to reproduce:
duplicate a way
remove all tags
make it congruent with the original way
click Validate
select Warnings
click Fix
Voilá:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.realRun(ValidatorDialog.java:582) at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:83) at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:129) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:998) at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1326) at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask.realRun(ValidatorDialog.java:557) ... 8 more Caused by: java.lang.IllegalArgumentException: {Node id=-70 version=1 MVD lat=50.86525426712683,lon=13.316789869842102} is already deleted at org.openstreetmap.josm.command.DeleteCommand.executeCommand(DeleteCommand.java:117) at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:53) at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:36) at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$FixTask$1.run(ValidatorDialog.java:560) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1563) at java.awt.Component.setVisible(Component.java:1515) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:83) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) 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 (12)
comment:1 by , 14 years ago
comment:4 by , 13 years ago
Cc: | added |
---|---|
Description: | modified (diff) |
comment:6 by , 13 years ago
As the results are not updated after some fixes you will always get problems with objects which are listed under several categories.
Workaround is to validate after the first fixes.
@malenki:
Did not test your original report but it looks like you did run fixes for several sub-categories. Deleting the duplicate way did delete its nodes and there for they were already deleted when validator tried to delete them (duplicate nodes).
To solve the problem JOSM should
- like upload, fix nodes first than ways.
- not try to delete/merge already deleted objects but silently drop the entry from the validator list (no exceptions).
EDIT: Corrected misleading comment.
follow-up: 8 comment:7 by , 13 years ago
@skyper:
I am aware that the bug occurs when the user tries to fix an error "twice". But IMO it is not the task of the user to make sure that JOSM doesn't give "serious error" messages when it shouldn't.
comment:8 by , 13 years ago
Replying to malenki:
@skyper:
I am aware that the bug occurs when the user tries to fix an error "twice". But IMO it is not the task of the user to make sure that JOSM doesn't give "serious error" messages when it shouldn't.
Sorry for misleading comment. Did correct it.
I did not intend to give any user advices but propose a solution to fix the issue. Only dropping the exception would work but deleting/merging the nodes first seems to be better.
btw: the duplicated way without tags disappears