Modify

Opened 13 years ago

Closed 12 years ago

Last modified 12 years ago

#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 skyper)

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 malenki, 13 years ago

btw: the duplicated way without tags disappears

comment:2 by skyper, 12 years ago

Ticket #6446 has been marked as a duplicate of this ticket.

comment:3 by skyper, 12 years ago

Ticket #6460 has been marked as a duplicate of this ticket.

comment:4 by skyper, 12 years ago

Cc: naoliv added
Description: modified (diff)

comment:5 by anonymous, 12 years ago

Ticket #7737 has been marked as a duplicate of this ticket.

comment:6 by skyper, 12 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.

  1. like upload, nodes should be fixed first than ways.
  2. do not try to delete/merge already deleted objects but silently drop the entry from the validator list (no exceptions).
Version 1, edited 12 years ago by skyper (previous) (next) (diff)

comment:7 by malenki, 12 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.

in reply to:  7 comment:8 by skyper, 12 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.

comment:9 by anonymous, 12 years ago

Ticket #7780 has been marked as a duplicate of this ticket.

comment:10 by skyper, 12 years ago

Ticket #7779 has been marked as a duplicate of this ticket.

comment:11 by Don-vip, 12 years ago

Resolution: fixed
Status: newclosed

In 5287/josm:

fix #5764, fix #5773 - Do not create delete commands for objects that already have been deleted, silently drop the related error in validator dialog

in reply to:  11 comment:12 by anonymous, 12 years ago

Replying to Don-vip:

In 5287/josm:

fix #5764, fix #5773 - Do not create delete commands for objects that already have been deleted, silently drop the related error in validator dialog


Thank you!

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.