Modify

Opened 9 years ago

Closed 3 years ago

#11766 closed defect (irreproducible)

DataIntegrityProblemException: Nodes in way must be in the same dataset

Reported by: rickmastfan67 Owned by: team
Priority: normal Milestone:
Component: Plugin undelete Version: latest
Keywords: DataIntegrityProblemException Cc:

Description

(This shouldn't be confused with #4521 which has the same name for the ticket.)

This ticket could be considered an extension of #11759 as it has exposed a new DataIntegrityProblemException bug after the NPE was fixed.

Steps to reproduce:

  1. First make sure you have the undelete plugin installed.
  2. Undelete the following way: ​https://www.openstreetmap.org/way/158977006/
  3. Notice that one of the nodes is mentioned that it was redacted, however, it really wasn't. (See #10102)
  4. Grab a node and 'move' it to make the way appear and then hit the 'undo' button.
  5. Now, select the first node in the way.
  6. Hit the 'A' to start drawing from it.
  7. Draw a new node.

What happens:
Get an error message saying that there's a 'DataIntegrityProblemException' because of the redacted node not being there.

What should happen:
You should be able to draw a new node for the way.

Maybe one way to prevent this from happening if #10102 isn't going to be fixed anytime soon, is that whenever a way is undeleted and has a 'redacted' node in it, is to have JOSM not add it back into the way. Sure, there might be 'manual' ways to do that by editing the OSM file in a text editor and removing all references to the 'redacted' node after undeleting the way, but JOSM should be able to do this automatically for the user.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2015-08-08 01:32:50
Last Changed Author: wiktorn
Revision: 8646
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Relative URL: ^/trunk
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2015-08-07 21:02:00 +0200 (Fri, 07 Aug 2015)
Last Changed Rev: 8646

Identification: JOSM/1.5 (8646 en) Windows 7 64-Bit
Memory Usage: 364 MB / 1820 MB (92 MB allocated, but free)
Java version: 1.7.0_79, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM

Dataset consistency test:
[NO DATASET] {Node id=113983539 version=9 V } is referenced by {Way id=158977006 version=7 MT> nodes=[{Node id=-18 version=0 MV lat=34.01263048268141,lon=-81.0396359820404}, {Node id=114048338 version=10 VT lat=34.0132111,lon=-81.0387832}, {Node id=113983539 version=9 V }, {Node id=114031153 version=8 V lat=34.0141168,lon=-81.0363251}, {Node id=114031130 version=10 V lat=34.0140674,lon=-81.0355949}, {Node id=114048340 version=8 M lat=34.0145112,lon=-81.0352531}, {Node id=2597719668 version=4 M lat=34.0146755,lon=-81.0343636}, {Node id=2597719656 version=4 VT lat=34.0146644,lon=-81.0341185}, {Node id=2925067967 version=2 V lat=34.0148044,lon=-81.0340156}]} but not found in dataset


Plugins:
- OpeningHoursEditor (31241)
- buildings_tools (31361)
- measurement (31289)
- mirrored_download (31294)
- osmarender (31241)
- reverter (31241)
- turnrestrictions (31241)
- undelete (31241)
- utilsplugin2 (31463)

Last errors/warnings:
- W: Unable to undelete node 113,983,539. Object has likely been redacted
- E: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Nodes in way must be in the same dataset

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Nodes in way must be in the same dataset
	at org.openstreetmap.josm.data.osm.Way.checkNodes(Way.java:597)
	at org.openstreetmap.josm.data.osm.Way.fireNodesChanged(Way.java:617)
	at org.openstreetmap.josm.data.osm.Way.setNodes(Way.java:74)
	at org.openstreetmap.josm.data.osm.Way.cloneFrom(Way.java:324)
	at org.openstreetmap.josm.command.ChangeCommand.executeCommand(ChangeCommand.java:65)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:53)
	at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:43)
	at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:69)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.mouseReleased(DrawAction.java:612)
	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$300(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$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.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$1.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)

Attachments (0)

Change History (3)

comment:1 by simon04, 4 years ago

Summary: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Nodes in way must be in the same datasetDataIntegrityProblemException: Nodes in way must be in the same dataset

comment:2 by stoecker, 4 years ago

Component: CorePlugin undelete

comment:3 by GerdP, 3 years ago

Resolution: irreproducible
Status: newclosed

I cannot reproduce the problem with r17084 and undelete (35521).

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.