﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
13487	Conflict resolution causes DataIntegrityProblemException: Deleted node referenced	james2432	team	"==== What steps will reproduce the problem?
1. Apply resolutions to conflicts
2. Crashes after resolution is applied


==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-08-11 21:54:24 +0200 (Thu, 11 Aug 2016)
Build-Date:2016-08-11 22:36:05
Revision:10786
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10786 en) Windows 10 64-Bit
Memory Usage: 1249 MB / 3625 MB (568 MB allocated, but free)
Java version: 1.8.0_102-b14, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-Djava.security.manager, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp, -Djnlp.tk=awt, -Djnlpx.vmargs=LURqYXZhLnV0aWwuQXJyYXlzLnVzZUxlZ2FjeU1lcmdlU29ydD10cnVlAC1Eam5scC5hcHBsaWNhdGlvbi5ocmVmPWh0dHBzOi8vam9zbS5vcGVuc3RyZWV0bWFwLmRlL2Rvd25sb2FkL2pvc20uam5scAA=, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.splashport=2651, -Djnlpx.home=<java.home>\bin, -Djnlpx.remove=false, -Djnlpx.offline=false, -Djnlpx.relaunch=true, -Djnlpx.session.data=%UserProfile%\AppData\Local\Temp\session2327655582940402428, -Djnlpx.heapsize=NULL,NULL, -Djava.security.policy=file:<java.home>\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.origFilenameArg=%UserProfile%\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\56\1ee8cfb8-36f44fdd]

Dataset consistency test:
[DELETED REFERENCED] {Way id=439570534 version=1 MVT nodes=[{Node id=4372164081 version=1 V lat=50.1606372,lon=-75.5003307}, {Node id=4372164082 version=1 V lat=50.1606378,lon=-75.5005663}, {Node id=4372164226 version=1 V lat=50.1608532,lon=-75.5010204}, {Node id=4372164264 version=1 V lat=50.1610041,lon=-75.501064}, {Node id=4372164450 version=1 V lat=50.1613729,lon=-75.5007349}, {Node id=4372164501 version=1 V lat=50.1616371,lon=-75.50087}, {Node id=4372164534 version=1 V lat=50.1617753,lon=-75.5007577}, {Node id=4372164549 version=1 V lat=50.1618554,lon=-75.5004529}, {Node id=4372122284 version=1 V lat=50.1620646,lon=-75.5000844}, {Node id=4372164735 version=1 V lat=50.1622558,lon=-75.5000934}, {Node id=4372164059 version=1 VD lat=50.160545,lon=-75.5}]} refers to deleted primitive {Node id=4372164059 version=1 VD lat=50.160545,lon=-75.5}


Plugins:
+ DirectDownload (32699)
+ FixAddresses (32796)
+ Mapillary (32796)
+ OpenStreetView (13)
+ OpeningHoursEditor (32699)
+ apache-commons (32699)
+ apache-http (32699)
+ buildings_tools (32796)
+ canvec_helper (32699)
+ editgpx (32699)
+ ejml (32680)
+ geotools (32813)
+ imagery_offset_db (32796)
+ jogl (1.0.46)
+ jts (32699)
+ kendzi3d-resources (0.0.1)
+ log4j (32699)
+ merge-overlap
+ opendata (32811)
+ print (32699)
+ reverter (32796)
+ terracer (32699)
+ turnrestrictions (32796)
+ utilsplugin2 (32815)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- W: Unable to remove primitives from TestError [tester=MapCSSTagCheckerAndRule [rule=GroupedMapCSSRule [selectors=[area:closed:areaStyle[natural'REGEX'^(water|wetland|coastline)$] >LinkSelector{conditions=null} area:closed:areaStyle.water_area, area:closed:areaStyle[landuse=reservoir] >LinkSelector{conditions=null} area:closed:areaStyle.water_area], declaration=Declaration [instructions=[throwWarning: ArrayFunction~tr(class java.lang.String <Overlapping Water Areas>);], idx=10]]], code=3000, message=Overlapping Water Areas]. java.lang.UnsupportedOperationException
- W: Unable to remove primitives from TestError [tester=MapCSSTagCheckerAndRule [rule=GroupedMapCSSRule [selectors=[area:closed:areaStyle[ParameterFunction~equal(class java.lang.Object ParameterFunction~tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>),class java.lang.Object ParameterFunction~parent_tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>))] >LinkSelector{conditions=null} area:closed:areaStyle[natural]], declaration=Declaration [instructions=[throwWarning: ArrayFunction~tr(class java.lang.String <Overlapping Identical Natural Areas>);], idx=13]]], code=3000, message=Overlapping Identical Natural Areas]. java.lang.UnsupportedOperationException
- W: Unable to remove primitives from TestError [tester=MapCSSTagCheckerAndRule [rule=GroupedMapCSSRule [selectors=[area:closed:areaStyle[ParameterFunction~equal(class java.lang.Object ParameterFunction~tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>),class java.lang.Object ParameterFunction~parent_tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>))] >LinkSelector{conditions=null} area:closed:areaStyle[natural]], declaration=Declaration [instructions=[throwWarning: ArrayFunction~tr(class java.lang.String <Overlapping Identical Natural Areas>);], idx=13]]], code=3000, message=Overlapping Identical Natural Areas]. java.lang.UnsupportedOperationException
- W: Unable to remove primitives from TestError [tester=MapCSSTagCheckerAndRule [rule=GroupedMapCSSRule [selectors=[area:closed:areaStyle[natural'REGEX'^(water|wetland|coastline)$] >LinkSelector{conditions=null} area:closed:areaStyle.water_area, area:closed:areaStyle[landuse=reservoir] >LinkSelector{conditions=null} area:closed:areaStyle.water_area], declaration=Declaration [instructions=[throwWarning: ArrayFunction~tr(class java.lang.String <Overlapping Water Areas>);], idx=10]]], code=3000, message=Overlapping Water Areas]. java.lang.UnsupportedOperationException
- W: Unable to remove primitives from TestError [tester=MapCSSTagCheckerAndRule [rule=GroupedMapCSSRule [selectors=[area:closed:areaStyle[ParameterFunction~equal(class java.lang.Object ParameterFunction~tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>),class java.lang.Object ParameterFunction~parent_tag(class org.openstreetmap.josm.gui.mappaint.Environment <natural>))] >LinkSelector{conditions=null} area:closed:areaStyle[natural]], declaration=Declaration [instructions=[throwWarning: ArrayFunction~tr(class java.lang.String <Overlapping Identical Natural Areas>);], idx=13]]], code=3000, message=Overlapping Identical Natural Areas]. java.lang.UnsupportedOperationException
- W: Unable to remove primitives from TestError [tester=org.openstreetmap.josm.data.validation.tests.UnconnectedWays$UnconnectedWaterways@fe518421, code=1301, message=Way end node near other way]. java.lang.UnsupportedOperationException
- E: Error header: Precondition failed: Node 4372164059 is still used by ways 439570534,439570534.
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=412, Error Header=<Precondition failed: Node 4372164059 is still used by ways 439570534,439570534.>
- E: Object still in use - <html><strong>Failed</strong> to delete <strong>node 4372164059</strong>. It is still referred to by way 439570534.<br>Please load the way, remove the reference to the node, and upload again.<br><br>Click <strong>Prepare conflict resolution</strong> to load them now.<br>If necessary JOSM will create conflicts which you can resolve in the Conflict Resolution Dialog.</html>
- E: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=439570534 version=1 MVT nodes=[{Node id=4372164081 version=1 V lat=50.1606372,lon=-75.5003307}, {Node id=4372164082 version=1 V lat=50.1606378,lon=-75.5005663}, {Node id=4372164226 version=1 V lat=50.1608532,lon=-75.5010204}, {Node id=4372164264 version=1 V lat=50.1610041,lon=-75.501064}, {Node id=4372164450 version=1 V lat=50.1613729,lon=-75.5007349}, {Node id=4372164501 version=1 V lat=50.1616371,lon=-75.50087}, {Node id=4372164534 version=1 V lat=50.1617753,lon=-75.5007577}, {Node id=4372164549 version=1 V lat=50.1618554,lon=-75.5004529}, {Node id=4372122284 version=1 V lat=50.1620646,lon=-75.5000844}, {Node id=4372164735 version=1 V lat=50.1622558,lon=-75.5000934}, {Node id=4372164059 version=1 VD lat=50.160545,lon=-75.5}]}


=== REPORTED CRASH DATA ===
BugReportExceptionHandler$BugReporterThread#askForBugReport:
No data collected.

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (49) of javawsApplicationThreadGroup
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=439570534 version=1 MVT nodes=[{Node id=4372164081 version=1 V lat=50.1606372,lon=-75.5003307}, {Node id=4372164082 version=1 V lat=50.1606378,lon=-75.5005663}, {Node id=4372164226 version=1 V lat=50.1608532,lon=-75.5010204}, {Node id=4372164264 version=1 V lat=50.1610041,lon=-75.501064}, {Node id=4372164450 version=1 V lat=50.1613729,lon=-75.5007349}, {Node id=4372164501 version=1 V lat=50.1616371,lon=-75.50087}, {Node id=4372164534 version=1 V lat=50.1617753,lon=-75.5007577}, {Node id=4372164549 version=1 V lat=50.1618554,lon=-75.5004529}, {Node id=4372122284 version=1 V lat=50.1620646,lon=-75.5000844}, {Node id=4372164735 version=1 V lat=50.1622558,lon=-75.5000934}, {Node id=4372164059 version=1 VD lat=50.160545,lon=-75.5}]}
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:597)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:613)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:74)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays(DataSet.java:1006)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkReferencesToPrimitive(DataSet.java:1062)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.deleteMy(DeletedStateConflictResolveCommand.java:76)
	at org.openstreetmap.josm.command.conflict.DeletedStateConflictResolveCommand.executeCommand(DeletedStateConflictResolveCommand.java:59)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:54)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:52)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:85)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog$ApplyResolutionAction.actionPerformed(ConflictResolutionDialog.java:238)
	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$500(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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.pumpEventsForFilter(Unknown Source)
	at java.awt.WaitDispatchSupport$2.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.awt.WaitDispatchSupport$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(Unknown Source)
	at java.awt.Dialog.show(Unknown Source)
	at java.awt.Component.show(Unknown Source)
	at java.awt.Component.setVisible(Unknown Source)
	at java.awt.Window.setVisible(Unknown Source)
	at java.awt.Dialog.setVisible(Unknown Source)
	at org.openstreetmap.josm.gui.dialogs.ConflictResolutionDialog.setVisible(ConflictResolutionDialog.java:71)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.resolve(ConflictDialog.java:220)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog.access$200(ConflictDialog.java:76)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$ResolveAction.actionPerformed(ConflictDialog.java:434)
	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$500(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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)
}}}
"	defect	closed	normal		Core	latest	duplicate	template_report conflict	
