Modify

Opened 4 years ago

Closed 4 years ago

Last modified 21 months ago

#20629 closed defect (fixed)

Contourmerge Plugin can corrupt data integrety

Reported by: mdk Owned by: Gubaer
Priority: normal Milestone:
Component: Plugin contourmerge Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. Open file test.osm
  2. Select Contourmerge tool
  3. Mark the both nodes which are part of the water and the wood area (with a yellow 'x')
  4. Grap the segment between those both nodes and drop it on water area bound on the left.
  5. Add a new node to the wood area bound.

What is the expected result

Contourmerge should not harm the data integrety.

What happens instead?

After step 4 the data is corrupted:

  • The result is test2.osm.
  • The two nodes which where marked befort with the 'x' are deleted, but they are still member of the two ways.
  • The two nodes have no longer node markers.

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

Additional observations:

  • While moving the segment during step 4, the dottet lines are not conneted with the two nodes marked with 'x', but with two other nodes (in this example with nodes from the wood area).
  • You can't drop it on the wood bounds on the right. This may ba a side effect of the above observation.
  • Selecting on of the ways with the right mouse button (which not work all the time in this example) should only merge this way. But independent of the selection, allways all ways are merged. This worked long time ago. I can't remember since when this funtion is broken, but as a woraound I add a node in the wanted way and move it aside, so I can select only this way.
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-03-19 20:04:35 +0100 (Fri, 19 Mar 2021)
Revision:17592
Build-Date:2021-03-20 02:31:01
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17592 en) Linux Ubuntu 20.10
Memory Usage: 680 MB / 1980 MB (285 MB allocated, but free)
Java version: 15+36-Ubuntu-1, Private Build, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 3840×2160 (scaling 2.00×2.00)
Maximum Screen Size: 3840×2160
Best cursor sizes: 16×16→16×16, 32×32→32×32
Desktop environment: ubuntu:GNOME
Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-1
Environment variable LANG: de_CH.UTF-8
libcommons-compress-java: libcommons-compress-java:all-1.20-1
libcommons-logging-java: libcommons-logging-java:all-1.2-2
fonts-noto: fonts-noto:all-20200323-1build1
VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djosm.dir.name=JOSM-latest, -Djava.net.useSystemProxies=true]
Program arguments: [${HOME}/Downloads/test.osm]

Dataset consistency test:
[DELETED REFERENCED] {Way id=-104830 version=0 MVT nodes=[{Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}]} refers to deleted primitive {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}
[DELETED REFERENCED] {Way id=-104830 version=0 MVT nodes=[{Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}]} refers to deleted primitive {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}
[DELETED REFERENCED] {Way id=-104831 version=0 MVT nodes=[{Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102584 version=0 MV lat=-23.150205457439224,lon=47.068713865084185}, {Node id=-102580 version=0 MV lat=-23.15020538297,lon=47.06919191663}, {Node id=-102576 version=0 MV lat=-23.15059733124,lon=47.06959946141}, {Node id=-102577 version=0 MV lat=-23.15108453652,lon=47.06960687224}, {Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}]} refers to deleted primitive {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}
[DELETED REFERENCED] {Way id=-104831 version=0 MVT nodes=[{Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102584 version=0 MV lat=-23.150205457439224,lon=47.068713865084185}, {Node id=-102580 version=0 MV lat=-23.15020538297,lon=47.06919191663}, {Node id=-102576 version=0 MV lat=-23.15059733124,lon=47.06959946141}, {Node id=-102577 version=0 MV lat=-23.15108453652,lon=47.06960687224}, {Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}]} refers to deleted primitive {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}


Plugins:
+ FastDraw (35640)
+ HouseNumberTaggingTool (35640)
+ OpeningHoursEditor (35640)
+ RoadSigns (35640)
+ SimplifyArea (35640)
+ buildings_tools (35669)
+ contourmerge (v0.1.6)
+ imagery-xml-bounds (35723)
+ imagery_offset_db (35640)
+ pbf (35720)
+ poly (35640)
+ public_transport (35640)
+ reltoolbox (35640)
+ reverter (35688)
+ terracer (35640)
+ turnrestrictions (35640)
+ utilsplugin2 (35691)
+ wikipedia (1.1.4)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&preset&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&style&zip=1

Last errors/warnings:
- 00642.399 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=-104819 version=0 MVT nodes=[{Node id=-102567 version=0 MV lat=-23.15139691206,lon=47.06905852456}, {Node id=-102561 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102560 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102564 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102559 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102565 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102558 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102570 version=0 MV lat=-23.150205445894105,lon=47.068787978424446}, {Node id=-102566 version=0 MV lat=-23.15020538297,lon=47.06919191663}, {Node id=-102562 version=0 MV lat=-23.15059733124,lon=47.06959946141}, {Node id=-102563 version=0 MV lat=-23.15108453652,lon=47.06960687224}, {Node id=-102567 version=0 MV lat=-23.15139691206,lon=47.06905852456}]} (changed by the following commands: [Sequence: Merging Contour])
- 00783.353 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=-104831 version=0 MVT nodes=[{Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102584 version=0 MV lat=-23.150205457439224,lon=47.068713865084185}, {Node id=-102580 version=0 MV lat=-23.15020538297,lon=47.06919191663}, {Node id=-102576 version=0 MV lat=-23.15059733124,lon=47.06959946141}, {Node id=-102577 version=0 MV lat=-23.15108453652,lon=47.06960687224}, {Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}]} (changed by the following commands: [Sequence: Merging Contour])



=== REPORTED CRASH DATA ===
sequence_information:
 - sequence_name: Sequence: Add node into way
 - sequence_command: Change nodes of ‎0‎ (11 nodes) [id: 0]‌
 - sequence_index: 1
 - sequence_commands: [org.openstreetmap.josm.command.AddCommand;org.openstreetmap.josm.command.ChangeNodesCommand]
 - sequence_commands_descriptions: [Add node node [id: 0];Change nodes of ‎0‎ (11 nodes) [id: 0]‌]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (20) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Deleted node referenced: {Way id=-104831 version=0 MVT nodes=[{Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}, {Node id=-102575 version=0 MVD lat=-23.15138776129,lon=47.06829144955}, {Node id=-102574 version=0 MV lat=-23.1513673192,lon=47.06758000968}, {Node id=-102578 version=0 MV lat=-23.15100385464,lon=47.06707902709}, {Node id=-102573 version=0 MV lat=-23.15045423564,lon=47.06711683267}, {Node id=-102579 version=0 MV lat=-23.15019717563,lon=47.06768486771}, {Node id=-102572 version=0 MVD lat=-23.15020552151,lon=47.0683025658}, {Node id=-102584 version=0 MV lat=-23.150205457439224,lon=47.068713865084185}, {Node id=-102580 version=0 MV lat=-23.15020538297,lon=47.06919191663}, {Node id=-102576 version=0 MV lat=-23.15059733124,lon=47.06959946141}, {Node id=-102577 version=0 MV lat=-23.15108453652,lon=47.06960687224}, {Node id=-102581 version=0 MV lat=-23.15139691206,lon=47.06905852456}]} (changed by the following commands: [Sequence: Merging Contour])
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:553)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:571)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:67)
	at org.openstreetmap.josm.command.ChangeNodesCommand.modifyWay(ChangeNodesCommand.java:45)
	at org.openstreetmap.josm.command.AbstractNodesCommand.executeCommand(AbstractNodesCommand.java:55)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:112)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:300)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:354)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.mouseReleased(DrawAction.java:651)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6614)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6379)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
	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(AccessController.java:391)
	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(AccessController.java:391)
	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 (2)

test.osm (1.9 KB ) - added by mdk 4 years ago.
test2.osm (1.9 KB ) - added by mdk 4 years ago.

Download all attachments as: .zip

Change History (13)

by mdk, 4 years ago

Attachment: test.osm added

by mdk, 4 years ago

Attachment: test2.osm added

comment:1 by skyper, 4 years ago

Thanks for this report in details.

Might be a duplicate of #18655, but this ticket is much more helpful.

comment:2 by GerdP, 4 years ago

Yes, great. I can reproduce the problem. The plugin is not maintained by the JOSM team, though.

comment:5 by Gubaer, 4 years ago

Resolution: fixed
Status: newclosed

comment:6 by skyper, 4 years ago

See also #18600, #18655 and #20430.

comment:7 by skyper, 4 years ago

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

comment:8 by skyper, 4 years ago

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

in reply to:  6 comment:9 by gaben, 2 years ago

Replying to skyper:

See also #18600, #18655 and #20430.

Can these tickets also be closed?

comment:10 by skyper, 2 years ago

Well, we got no more reports since v0.1.8 was released. Only similar ticket is with an outdated JOSM and plugin, #22276.
I did not close them as duplicates as the log is not identical but I guess they all are fixed.

Last edited 2 years ago by skyper (previous) (diff)

comment:11 by taylor.smock, 21 months ago

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

Modify Ticket

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