Modify

Opened 2 months ago

Last modified 2 months ago

#19353 new defect

DataIntegrityProblemException: Relation member must be part of the same dataset as relation

Reported by: skyper Owned by: team
Priority: major Milestone:
Component: Core Version:
Keywords: template_report relation undo Cc:

Description (last modified by skyper)

Heureka, I found one reproducible way:

What steps will reproduce the problem?

  1. Open relation editor with a relation
  2. Create a new way. I did split an existing one.
  3. Select way and add it to the relation in the relation manager but do not save or close it.
  4. Undo last change (creation of new way)
  5. Save relation in relation manager or close relation manager
  6. (later creates a conflict)
  7. (try to solve conflict by opening it through conflict list panel)

What is the expected result?

No exception

What happens instead?

DataIntegrityProblemException: Relation member must be part of the same dataset as relation

  • either by saving in relation manager
  • or bigger problem, by opening the conflict dialog

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

I had to manually delete the non-existing way from the relation to get rid of the data inconsistency.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-06-03 21:59:58 +0200 (Wed, 03 Jun 2020)
Revision:16540
Build-Date:2020-06-04 01:30:48
URL:https://josm.openstreetmap.de/svn/trunk

Dataset consistency test:
[NO DATASET] {Way id=-116460 version=0 MVT> nodes=[{Node id=7595952827 version=1 VT lat=47.62064273589,lon=8.21870135149}, {Node id=7595952836 version=1 V lat=47.62076724308,lon=8.21864507466}]} is referenced by {Relation id=10751781 version=3 VT [way 813199195, way 156641560, way 813199198, way 91989673, way 813199197, way 37642856, way 111655397, way 708195987, way 32898067, way 319382676, way 319382672, way 319382674, way 319382675, way 218499396, way 319382677, way 319193447, way 319339813, way 813199206, way 813199207, way 689747754, way 405108448, way 405108453, way 668347833, way 405108455, way 405292499, way 319339818, way 688139903, way 405210448, way 319339816, way 573396449, way 405108441, way 405108468, way 405108445, way 446474138, way 446474137, way 813199208, way 689753641, way 668347836, way 668347839, way 668347840, way 493408784, way 319339822, way 668347821, way 319339809, way 813199215, way 813199211, way 813199212, way 813199209, way 813199210, way 668347842, way 319339820, way 319339815, way 813199216, way 319341061, way 319341073, way 319341055, way 319341056, way 813199214, way 813199213, way 81069707, way 467290797, way 319341053, way 230699852, way 103191373, way 319389360, way 25962870, way 319385270, way 37609618, way 37609619, way 319385269, way 38319435, way 104556361, way 465470098, way 38319381, way 38319369, way 284902139, way 465470099, way 364419876, way 30771261, way 25711490, way 25711720, way 581455538, way 581455532, way 416771371, way 371934806, way 32416794, way 284902144, way 320856209, way 38319233, way 465468464, way 464296093, way 284902147, way 379623073, way 32416819, way 374167583, way 464131663, way 508017645, way 374167789, way 464132575, way 508017646, way 217429289, way 41127555, way 321307082, way 41184530, way 464338716, way 41184531, way 284902172, way 284902176, way 435059395, way 561487667, way 284909301, way 561478952, way 284909312, way 457972497, way 561478955, way 561478956, way 284909313, way 561478957, way 561478958, way 561478959, way 284909319, way 32404662, way 284909321, way 561478951, way 776328787, node 3762662985, node 3762666733, way -116460]} but not found in dataset

Last errors/warnings:
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Relation member must be part of the same dataset as relation(relation 10751781, way -116460)


=== 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: Relation member must be part of the same dataset as relation(relation 10751781, way -116460)
	at org.openstreetmap.josm.data.osm.Relation.checkMembers(Relation.java:485)
	at org.openstreetmap.josm.data.osm.Relation.fireMembersChanged(Relation.java:503)
	at org.openstreetmap.josm.data.osm.Relation.setMembers(Relation.java:61)
	at org.openstreetmap.josm.data.osm.Relation.cloneFrom(Relation.java:258)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.cloneFrom(OsmPrimitive.java:864)
	at org.openstreetmap.josm.command.ChangeCommand.executeCommand(ChangeCommand.java:67)
	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.relation.actions.SavingAction.applyExistingNonConflictingRelation(SavingAction.java:101)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.SavingAction.applyChanges(SavingAction.java:174)
	at org.openstreetmap.josm.gui.dialogs.relation.actions.ApplyAction.actionPerformed(ApplyAction.java:31)
	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6631)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
	at java.desktop/java.awt.Component.processEvent(Component.java:6396)
	at java.desktop/java.awt.Container.processEvent(Container.java:2263)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5007)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4839)
	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:4839)
	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 2 months ago by simon04

Interestingly, a conflict is being reported after clicking away the BugReportDialog.


With #19343, the exception will be

DataIntegrityProblemException: Relation member must be part of the same dataset as relation(relation 2260670, way -106787) (changed by the following commands: [Sequence: Add a new node to an existing way (undone)])

comment:2 Changed 2 months ago by skyper

Description: modified (diff)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set.
to The owner will be changed from team to the specified user.
The owner will change to skyper
as duplicate The resolution will be set to duplicate.The specified ticket will be cross-referenced with this ticket
The owner will be changed from team to anonymous.

Add Comment


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

 
Note: See TracTickets for help on using tickets.