Modify

Opened 4 months ago

Closed 2 weeks ago

Last modified 38 hours ago

#19438 closed defect (fixed)

DataIntegrityProblemException: Deleted node referenced during conflict solving

Reported by: jumat@… Owned by: GerdP
Priority: normal Milestone: 20.10
Component: Core Version: tested
Keywords: template_report DataIntegrityProblemException Deleted node referenced conflict Cc:

Description

What steps will reproduce the problem?

  1. Trying to solve several conflicts with the JOSM-conflict solving tool (JOSM compares my current version with the server version)
  2. Accepting my version
  3. Appling my version is the correct one > JOSM crashes

What is the expected result?

What happens instead?

Please provide any additional information below. Attach a screenshot if possible.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-06-02 08:27:29 +0200 (Tue, 02 Jun 2020)
Build-Date:2020-06-02 11:11:35
Revision:16538
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16538 de) Mac OS X 10.15.5
OS Build number: Mac OS X 10.15.5 (19F101)
Memory Usage: 1093 MB / 1820 MB (558 MB allocated, but free)
Java version: 1.8.0_251-b08, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 441084945 2560x1080
Maximum Screen Size: 2560x1080
VM arguments: [-Djava.library.path=/private/var/folders/mq/zwtfhdb533d13ylzfqpbjrfc0000gn/T/AppTranslocation/38FCBD25-246E-4750-BCDC-B55EE2CD434E/d/JOSM.app/Contents/MacOS, -DLibraryDirectory=${HOME}/Library, -DDocumentsDirectory=${HOME}/Documents, -DApplicationSupportDirectory=${HOME}/Library/Application Support, -DCachesDirectory=${HOME}/Library/Caches, -DApplicationDirectory=${HOME}/Applications, -DAutosavedInformationDirectory=${HOME}/Library/Autosave Information, -DDesktopDirectory=${HOME}/Desktop, -DDownloadsDirectory=${HOME}/Downloads, -DMoviesDirectory=${HOME}/Movies, -DMusicDirectory=${HOME}/Music, -DPicturesDirectory=${HOME}/Pictures, -DSharedPublicDirectory=${HOME}/Public, -DSystemLibraryDirectory=/Library, -DSystemApplicationSupportDirectory=/Library/Application Support, -DSystemCachesDirectory=/Library/Caches, -DSystemApplicationDirectory=/Applications, -DSystemUserDirectory=/Users, -DUserHome=${HOME}, -DSandboxEnabled=true, -DLaunchModifierFlags=0, -DLaunchModifierFlagCapsLock=false, -DLaunchModifierFlagShift=false, -DLaunchModifierFlagControl=false, -DLaunchModifierFlagOption=false, -DLaunchModifierFlagCommand=false, -DLaunchModifierFlagNumericPad=false, -DLaunchModifierFlagHelp=false, -DLaunchModifierFlagFunction=false, -Dapple.laf.useScreenMenuBar=true, -Dcom.apple.macos.use-file-dialog-packages=true, -Dcom.apple.macos.useScreenMenuBar=true, -Dcom.apple.mrj.application.apple.menu.about.name=JOSM, -Dcom.apple.smallTabs=true]

Dataset consistency test:
[DELETED REFERENCED] {Way id=726526507 version=2 MVT nodes=[{Node id=6809960493 version=1 V lat=47.0164802,lon=16.1641422}, {Node id=6718736816 version=1 V lat=47.0167444,lon=16.1639893}, {Node id=6718736818 version=2 MVD lat=47.0168788,lon=16.1640765}]} refers to deleted primitive {Node id=6718736818 version=2 MVD lat=47.0168788,lon=16.1640765}


Plugins:
+ FastDraw (35405)
+ RoadSigns (35424)
+ austriaaddresshelper (57)
+ buildings_tools (35474)
+ continuosDownload (91)
+ contourmerge (v0.1.6)
+ reverter (35474)
+ utilsplugin2 (35476)

Map paint styles:
+ ${HOME}/Downloads/browser/New_basic_style.mapcss

Last errors/warnings:
- W: Konflikte gefunden - <html>1 Konflikt wurde entdeckt.</html>
- W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String!
- W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String!
- W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String!
- W: Konflikte gefunden - <html>8 Konflikte wurden entdeckt.</html>
- W: Unable to convert property color to type class java.awt.Color: found # of type class java.lang.String!
- W: Konflikte gefunden - <html>9 Konflikte wurden entdeckt.</html>
- W: Konflikte gefunden - <html>8 Konflikte wurden entdeckt.</html>
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=726526507 version=2 MVT nodes=[{Node id=6809960493 version=1 V lat=47.0164802,lon=16.1641422}, {Node id=6718736815 version=1 V lat=47.0166987,lon=16.1640108}, {Node id=6718736816 version=1 V lat=47.0167444,lon=16.1639893}, {Node id=6718736818 version=2 MVD lat=47.0168788,lon=16.1640765}]}
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=726526507 version=2 MVT nodes=[{Node id=6809960493 version=1 V lat=47.0164802,lon=16.1641422}, {Node id=6718736816 version=1 V lat=47.0167444,lon=16.1639893}, {Node id=6718736818 version=2 MVD lat=47.0168788,lon=16.1640765}]}


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=726526507 version=2 MVT nodes=[{Node id=6809960493 version=1 V lat=47.0164802,lon=16.1641422}, {Node id=6718736816 version=1 V lat=47.0167444,lon=16.1639893}, {Node id=6718736818 version=2 MVD lat=47.0168788,lon=16.1640765}]}
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:537)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:553)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:66)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$unlinkNodeFromWays$14(DataSet.java:799)
	at org.openstreetmap.josm.data.osm.DataSet.update(DataSet.java:989)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays(DataSet.java:791)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$unlinkReferencesToPrimitive$17(DataSet.java:843)
	at org.openstreetmap.josm.data.osm.DataSet.update(DataSet.java:989)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkReferencesToPrimitive(DataSet.java:840)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.deleteMy(DeletedStateConflictResolveCommand.java:77)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.executeCommand(DeletedStateConflictResolveCommand.java:60)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:79)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:299)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:353)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog$ApplyResolutionAction.actionPerformed(ConflictResolutionDialog.java:206)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:459)
	at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:255)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.resolve(ConflictDialog.java:209)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.access$200(ConflictDialog.java:79)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$ResolveAction.actionPerformed(ConflictDialog.java:466)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (1)

19438.joz (1.5 KB) - added by GerdP 2 weeks ago.
session file

Download all attachments as: .zip

Change History (51)

comment:1 Changed 4 months ago by skyper

Keywords: DataIntegrityProblemException Deleted node referenced conflict added
Owner: changed from team to jumat@…
Status: newneedinfo
Summary: JOSM crashes during conflict solvingDataIntegrityProblemException: Deleted node referenced during conflict solving
Version: tested

How did you get the conflicts?
What OSM data sources did you use?
What were your last actions before the conflicts?
How did you get the inconsistent dataset?

comment:2 Changed 4 months ago by jumat@…

Conflicts occurs due to different versions between server and my computer/JOSM-data.
OSM data source: always the same that JOSM uses. I do not know in detail, which data source JOSM uses. Sorry.
Last actions: deleting node duplicates of lines.

comment:3 Changed 4 months ago by skyper

Owner: changed from jumat@… to team
Status: needinfonew

comment:4 Changed 4 months ago by jumat@…

Just an additional information on the duplicate nodes:
I use OSMOSE quality insurance tool to find mistakes in mapping. Duplicate nodes are shown there. This is how I find them in detail: searching for a marker on OSMOSE > opening in JOSM > deleting the node.

comment:5 Changed 4 months ago by skyper

How do you download the data? With "normal" download data or do you only download the nodes using "Download object" or even a remote control link?

How do you make sure, you did download all parent ways of the nodes you want to delete?
Is it reproducible? If possible, plaese, add a step by step description of your actions.

comment:6 Changed 4 months ago by jumat@…

Again I've got a crash of JOSM.

In detail (a sample), how to reproduce: Open via osmose http://osmose.openstreetmap.fr/de/josm_proxy?load_object?objects=w253518798 in JOSM. There are duplicates of landuses. Delete this object.
Download data in this area from OSM > several conflicts occur.
Try to solve the conflicts > during this process JOSM crashes.

comment:7 Changed 4 months ago by skyper

Is it possible for you to create a example file including two data layers, one with some of your edits and the other with the download OSM data. When merging these two layers you should get the conflicts and hopefully the same exceptions.

How is the result of a data consistency check before you download data in the area from OSM? Is it already inconsistent or is it fine?

Changed 2 weeks ago by GerdP

Attachment: 19438.joz added

session file

comment:8 Changed 2 weeks ago by GerdP

Milestone: 20.10
Owner: changed from team to GerdP
Status: newassigned

I can reproduce this problem and have a fix :)

  1. load attached session
  2. remove node in Data Layer 4, ignore the warning and click Yes
  3. right click on Data Layer 3 and click merge, select Data Layer 4
  4. Click OK in the popup
  5. Right click on the conflict and chose "Resolve the conflict to my versions"
  6. Right click on Data Layer 4 and chose "Dataset consistency test"
    [DELETED REFERENCED] {Way id=542904077 version=1 MVT nodes=[{Node id=5248536615 version=1 V lat=52.8876891,lon=8.5304175}, {Node id=5248536611 version=1 V lat=52.8876753,lon=8.5304264}, {Node id=5248536610 version=1 V lat=52.887688,lon=8.5304804}, {Node id=5248536609 version=1 V lat=52.8876209,lon=8.530524}, {Node id=5248536612 version=1 V lat=52.8876081,lon=8.5304701}, {Node id=5248536614 version=1 V lat=52.8875343,lon=8.5305181}, {Node id=5248536613 version=1 V lat=52.8874963,lon=8.5303574}, {Node id=5248536616 version=1 MVD lat=52.8876511,lon=8.5302568}]} refers to deleted primitive {Node id=5248536616 version=1 MVD lat=52.8876511,lon=8.5302568}
    

Reason: the deleted node is the closing node in in the building and thus appears twice. The code in Dataset.unlinkNodeFromWays() only removes the first occurence.

comment:9 Changed 2 weeks ago by GerdP

Resolution: fixed
Status: assignedclosed

In 17190/josm:

fix #19438: DataIntegrityProblemException: Deleted node referenced during conflict solving
Let Dataset.unlinkNodeFromWays() remove all links, not only the first one.

comment:10 Changed 2 weeks ago by GerdP

@team: There are some other tickets with the text org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays in the traceback. How do I close all of them as duplicate of this ticket?

comment:11 in reply to:  10 Changed 2 weeks ago by Klumbumbus

Replying to GerdP:

@team: There are some other tickets with the text org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays in the traceback. How do I close all of them as duplicate of this ticket?

comment:12 Changed 2 weeks ago by GerdP

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

comment:13 Changed 2 weeks ago by GerdP

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

comment:14 Changed 2 weeks ago by GerdP

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

comment:15 Changed 2 weeks ago by GerdP

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

comment:16 Changed 2 weeks ago by GerdP

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

comment:17 Changed 2 weeks ago by GerdP

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

comment:18 Changed 2 weeks ago by GerdP

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

comment:19 Changed 2 weeks ago by GerdP

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

comment:20 Changed 2 weeks ago by GerdP

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

comment:21 Changed 2 weeks ago by stoecker

Seems the back reference does not work with this method.

comment:22 Changed 2 weeks ago by Klumbumbus

Oh, I didn't know that.

comment:23 Changed 2 weeks ago by GerdP

I did what Klumbusbus suggested. What is meant with back reference?

comment:24 Changed 2 weeks ago by Klumbumbus

This ticket is not linked in all the other tickets like when you close a single ticket as dulplicate (like in e.g. ticket:19927#comment:2)

Last edited 2 weeks ago by Klumbumbus (previous) (diff)

comment:25 Changed 2 weeks ago by GerdP

Ah, I see. Will do it manually tomorrow if not yet done by someone else ;)

comment:26 Changed 2 weeks ago by GerdP

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

comment:27 Changed 2 weeks ago by GerdP

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

comment:28 Changed 2 weeks ago by GerdP

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

comment:29 Changed 2 weeks ago by GerdP

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

comment:30 Changed 2 weeks ago by GerdP

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

comment:31 Changed 2 weeks ago by GerdP

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

comment:32 Changed 2 weeks ago by GerdP

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

comment:33 Changed 2 weeks ago by GerdP

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

comment:34 Changed 2 weeks ago by GerdP

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

comment:35 Changed 2 weeks ago by GerdP

In fact I cannot be sure that all these tickets were caused by the bug that was fixed with r17190, but I think it is very likely. Following that logic I might close even more tickets:
https://josm.openstreetmap.de/query?status=assigned&status=needinfo&status=new&status=reopened&description=~DataIntegrityProblemException%3A+Deleted+node+referenced&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority

comment:36 in reply to:  35 ; Changed 2 weeks ago by stoecker

Replying to GerdP:

In fact I cannot be sure that all these tickets were caused by the bug that was fixed with r17190, but I think it is very likely. Following that logic I might close even more tickets:
https://josm.openstreetmap.de/query?status=assigned&status=needinfo&status=new&status=reopened&description=~DataIntegrityProblemException%3A+Deleted+node+referenced&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority

Do that. Keeping them open does not help much without finding the reason even if they aren't a duplicate.

Regarding back-reference. The action for that back-reference has a warning that it wont work in certain situations. Now we know one of them :-)

comment:37 Changed 2 weeks ago by GerdP

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

comment:38 Changed 2 weeks ago by GerdP

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

comment:39 Changed 2 weeks ago by GerdP

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

comment:40 Changed 2 weeks ago by GerdP

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

comment:41 Changed 2 weeks ago by GerdP

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

comment:42 Changed 2 weeks ago by GerdP

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

comment:43 Changed 2 weeks ago by GerdP

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

comment:44 Changed 2 weeks ago by GerdP

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

comment:45 in reply to:  36 ; Changed 2 weeks ago by GerdP

Replying to stoecker:

Replying to GerdP:

In fact I cannot be sure that all these tickets were caused by the bug that was fixed with r17190, but I think it is very likely. Following that logic I might close even more tickets:
https://josm.openstreetmap.de/query?status=assigned&status=needinfo&status=new&status=reopened&description=~DataIntegrityProblemException%3A+Deleted+node+referenced&col=id&col=summary&col=status&col=type&col=priority&col=milestone&col=component&order=priority

Do that. Keeping them open does not help much without finding the reason even if they aren't a duplicate.

I've closed those tickets which mention conflicts or show corresponding problems in the "Last errors/warnings:" section. The remaining problems may well be caused by another error. I'll look at them again during the next days.

Regarding back-reference. The action for that back-reference has a warning that it wont work in certain situations. Now we know one of them :-)

Yeah, causes a lot of noise :(

comment:46 in reply to:  45 Changed 2 weeks ago by stoecker

Yeah, causes a lot of noise :(

If the noise is because you found and fixed one long-standing issue I have not the slightest problem with that!

comment:47 Changed 2 weeks ago by GerdP

BTW: Not sure which one it is but there is/was a QA tool that warns when you use java.util.List.remove(Object o).

comment:48 Changed 12 days ago by GerdP

I wonder if my solution introduced a new problem. For my example in comment:8 the building=yes way is no longer closed after the given steps.
The code in Way.calculateRemoveNodes() takes care of that. I think JOSM should use it instead of wayNodes.removeIf(node::equals)?

comment:49 Changed 38 hours ago by skyper

If it is a closed way in both layers and only one child node is deleted it should be a closed way after conflict resolution in all cases. Not sure how to difference between a closed way on one side and an open way on the other but I guess that one node is twice in the way's node list is the indicator.

comment:50 Changed 38 hours ago by GerdP

The way can be P-shaped as well or it can be an incorrect self-intersecting geometry.

Modify Ticket

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