Modify

Opened 4 months ago

Closed 4 weeks ago

#17123 closed defect (duplicate)

DataIntegrityProblemException while solving conflict

Reported by: naoliv Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report conflict Cc:

Description

I was solving some conflicts when JOSM crashed.
Maybe I already reported something similar in some older ticket (thus sorry if it's a duplicate)

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-12-17 22:42:01 +0100 (Mon, 17 Dec 2018)
Revision:14575
Build-Date:2018-12-18 02:32:19
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (14575 pt_BR) Linux Debian GNU/Linux buster/sid
Memory Usage: 657 MB / 2048 MB (74 MB allocated, but free)
Java version: 11.0.1+13-Debian-3, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-11-jre:amd64-11.0.1+13-3
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-21
VM arguments: [-Dawt.useSystemAAFontSettings=gasp]

Dataset consistency test:
[DELETED REFERENCED] {Way id=650369188 version=2 MT nodes=[{Node id=6101355231 version=2 M lat=9.318649,lon=44.8544988}, {Node id=6101355221 version=2 M lat=9.3186612,lon=44.854552}, {Node id=6101355225 version=2 M lat=9.3187668,lon=44.854527}, {Node id=6101355235 version=1 VD lat=9.3187546,lon=44.8544738}]} refers to deleted primitive {Node id=6101355235 version=1 VD lat=9.3187546,lon=44.8544738}
[DELETED REFERENCED] {Way id=650368389 version=2 MT nodes=[{Node id=6101355261 version=2 M lat=9.3206556,lon=44.8540236}, {Node id=6101355255 version=2 M lat=9.3207047,lon=44.8542364}, {Node id=6101355257 version=2 M lat=9.3209159,lon=44.8541864}, {Node id=6101355262 version=1 VD lat=9.3208668,lon=44.8539736}]} refers to deleted primitive {Node id=6101355262 version=1 VD lat=9.3208668,lon=44.8539736}
[DELETED REFERENCED] {Way id=650368382 version=2 MT nodes=[{Node id=6101355230 version=2 M lat=9.3205425,lon=44.8544992}, {Node id=6101355183 version=2 M lat=9.3205916,lon=44.854712}, {Node id=6101355197 version=2 M lat=9.3208028,lon=44.854662}, {Node id=6101355239 version=1 VD lat=9.3207537,lon=44.8544492}]} refers to deleted primitive {Node id=6101355239 version=1 VD lat=9.3207537,lon=44.8544492}
[DELETED REFERENCED] {Way id=650369274 version=2 MT nodes=[{Node id=6101355248 version=2 M lat=9.3192826,lon=44.8543487}, {Node id=6101355237 version=2 M lat=9.3193072,lon=44.8544551}, {Node id=6101355242 version=2 M lat=9.3194128,lon=44.8544301}, {Node id=6101355250 version=1 VD lat=9.3193882,lon=44.8543237}]} refers to deleted primitive {Node id=6101355250 version=1 VD lat=9.3193882,lon=44.8543237}
[DELETED REFERENCED] {Way id=650368413 version=2 MT nodes=[{Node id=6101355253 version=2 M lat=9.3195995,lon=44.8542737}, {Node id=6101355232 version=2 M lat=9.3196485,lon=44.8544865}, {Node id=6101355236 version=2 M lat=9.3197541,lon=44.8544615}, {Node id=6101355254 version=1 VD lat=9.3197051,lon=44.8542487}]} refers to deleted primitive {Node id=6101355254 version=1 VD lat=9.3197051,lon=44.8542487}
[DELETED REFERENCED] {Way id=650368521 version=2 MT nodes=[{Node id=6101354967 version=2 M lat=9.3207388,lon=44.8553504}, {Node id=6101354981 version=2 M lat=9.32095,lon=44.8553004}, {Node id=6101355055 version=1 VD lat=9.320901,lon=44.8550876}]} refers to deleted primitive {Node id=6101355055 version=1 VD lat=9.320901,lon=44.8550876}
[DELETED REFERENCED] {Way id=650369222 version=2 MT nodes=[{Node id=6101355243 version=2 M lat=9.3189658,lon=44.8544237}, {Node id=6101355234 version=2 M lat=9.3189781,lon=44.8544769}, {Node id=6101355238 version=2 M lat=9.3190837,lon=44.8544519}, {Node id=6101355245 version=1 VD lat=9.3190714,lon=44.8543987}]} refers to deleted primitive {Node id=6101355245 version=1 VD lat=9.3190714,lon=44.8543987}
[DELETED REFERENCED] {Way id=650368404 version=2 MT nodes=[{Node id=6101355258 version=2 M lat=9.3200219,lon=44.8541736}, {Node id=6101355246 version=2 M lat=9.320071,lon=44.8543864}, {Node id=6101355249 version=2 M lat=9.3202822,lon=44.8543364}, {Node id=6101355259 version=1 VD lat=9.3202331,lon=44.8541236}]} refers to deleted primitive {Node id=6101355259 version=1 VD lat=9.3202331,lon=44.8541236}
[DELETED REFERENCED] {Way id=650370366 version=2 MT nodes=[{Node id=6101353522 version=2 M lat=9.3197408,lon=44.8592336}, {Node id=6101353513 version=2 M lat=9.3196352,lon=44.8592586}, {Node id=6101353497 version=1 MVD lat=9.3196475,lon=44.8593118}, {Node id=6101353504 version=2 M lat=9.3197531,lon=44.8592868}, {Node id=6101353522 version=2 M lat=9.3197408,lon=44.8592336}]} refers to deleted primitive {Node id=6101353497 version=1 MVD lat=9.3196475,lon=44.8593118}


Plugins:
+ BuildingGeneralization (23)
+ EasyPresets (1537621333)
+ ImportImagePlugin (34576)
+ OpeningHoursEditor (34535)
+ SimplifyArea (34586)
+ apache-commons (34506)
+ buildings_tools (34724)
+ download_along (34503)
+ editgpx (34751)
+ ejml (34389)
+ geojson (87)
+ geotools (34513)
+ jaxb (34506)
+ jogl (1.2.2)
+ jts (34524)
+ log4j (34527)
+ measurement (34529)
+ merge-overlap (34664)
+ opendata (34698)
+ poly (34546)
+ reverter (34552)
+ tageditor (34560)
+ tagging-preset-tester (34561)
+ todo (30306)
+ turnlanes-tagging (272)
+ turnrestrictions (34643)
+ undelete (34568)
+ utilsplugin2 (34780)
+ wikipedia (v1.1.1)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Golf_Course&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Healthcare&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Industrial&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ /tmp/saida.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface-DataEntry&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Noname&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features_ryg&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Highway_Nodes&zip=1
- /tmp/newnodes.mapcss
- https://github.com/OSMBrasil/mapnik-brasil/archive/master.zip 
+ https://raw.githubusercontent.com/<user.name>/osm-gambi/master/fixme.mapcss
- /tmp/a.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
- <josm.pref>/styles/sit.mapcss

Validator rules:
+ ${HOME}/git/validador-josm/Rules_Brazilian-Specific.validator.mapcss
+ ${HOME}/git/validador-josm/staging.validator.mapcss
- /tmp/caray.validator.mapcss
+ ${HOME}/git/validador-josm/nome-ruas-numeros.validator.mapcss

Last errors/warnings:
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: No revert commands found for changeset 65489531
- W: No revert commands found for changeset 64990882
- E: java.lang.IllegalStateException: já registrado um conflito para a primitiva '{Node id=6101352462 version=3 MVT lat=9.3203639,lon=44.8604916}'.
- W: Conflitos detectados - <html>Houve 10 294 conflitos detectados.</html>
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=650368521 version=2 MT nodes=[{Node id=6101354967 version=2 M lat=9.3207388,lon=44.8553504}, {Node id=6101354981 version=2 M lat=9.32095,lon=44.8553004}, {Node id=6101355055 version=1 VD lat=9.320901,lon=44.8550876}]}


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=650368521 version=2 MT nodes=[{Node id=6101354967 version=2 M lat=9.3207388,lon=44.8553504}, {Node id=6101354981 version=2 M lat=9.32095,lon=44.8553004}, {Node id=6101355055 version=1 VD lat=9.320901,lon=44.8550876}]}
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:545)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:561)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:63)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkNodeFromWays(DataSet.java:756)
	at org.openstreetmap.josm.data.osm.DataSet.unlinkReferencesToPrimitive(DataSet.java:816)
	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.command.SequenceCommand.executeCommand(SequenceCommand.java:79)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:289)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:331)
	at org.openstreetmap.josm.gui.dialogs.ConflictDialog$ResolveToAction.actionPerformed(ConflictDialog.java:525)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1020)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1064)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6397)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Attachments (0)

Change History (2)

comment:1 Changed 4 months ago by GerdP

@team: I guess that ConflictResolver.buildResolveCommand) has the same problem as desribed here: comment:3:ticket:16006
When a SequenceCommmand contains multiple SequenceCommands it is possible that a later seqence references the same objets as an earlier seqence while the earlier seqence replaces this object. So the later command processes outdated data.
Maybe it could avoid this by executing the commands like we do in JoinAreasAction.commitCommands().

My conclusion so far: We should try to add code in class SequenceCommand to detect the potential problem and we should have something like the commitCommands() in AbstractAction.

comment:2 Changed 4 weeks ago by Don-vip

Keywords: conflict added
Resolution: duplicate
Status: newclosed

Closed as duplicate of #6529.

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.