Opened 9 years ago

Last modified 8 years ago

#15008 closed defect

DataIntegrityProblemException: Primitive must be part of the dataset — at Version 13

Reported by: geri-oc Owned by: geri-oc
Priority: critical Milestone: 17.12
Component: Core Version:
Keywords: template_report selection event edt Cc: bastiK, stoecker, Klumbumbus, michael2402

Description (last modified by Don-vip)

translation from comment:1:

The error occurred after (accidentaly) unglue(?) all nodes of a way (instead of only one node) and pressing Undo.

What steps will reproduce the problem?

  1. Error after Edit -> Undo

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: 2017-07-03 00:44:07 +0200 (Mon, 03 Jul 2017)
Build-Date:2017-07-02 23:26:36
Revision:12450
Relative:URL: ^/trunk

Identification: JOSM/1.5 (12450 de) Windows Vista 32-Bit
OS Build number: Windows Vista (TM) Home Premium (6002)
Memory Usage: 398 MB / 989 MB (184 MB allocated, but free)
Java version: 1.8.0_131-b11, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1440x900
Maximum Screen Size: 1440x900
Dataset consistency test: No problems found

Plugins:
+ FastDraw (33182)
+ PicLayer (33385)
+ SeaMapEditor (33054)
+ buildings_tools (33004)
+ measurement (33088)
+ public_transport (33166)
+ reverter (33088)
+ terracer (33088)
+ turnlanes (33294)
+ turnrestrictions (33088)
+ utilsplugin2 (33328)
+ wikipedia (33288)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Crafts&preset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ https://raw.github.com/rurseekatze/OpenRailwayMap/master/josm-presets/de.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Diving&zip=1
+ https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historic_Stone&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/PublicTransportOneClick&preset&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&preset&zip=1
+ https://raw.github.com/Flacus/Windrad/master/windrad.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://raw.githubusercontent.com/OpenNauticalChart/josm/master/Presets_Hafen.xml
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/DE.zip
+ https://raw.githubusercontent.com/OpenSeaMap/josm/master/Presets_Sport.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Golf_Course&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1

Map paint styles:
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1

Validator rules:
+ http://www.openrailwaymap.org/validator/de-openrailwaymap.validator.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/CzechRepublicAddressSystem&zip=1

Last errors/warnings:
- E: Fehler beim Laden des Bildes 'crossover-28.png'
- W:  Crossover: Could not get presets icon crossover-28.png
- E: Fehler beim Laden des Bildes 'milestone.png'
- W:  Milestone: Could not get presets icon milestone.png
- E: Fehler beim Laden des Bildes 'phone-32.png'
- W:  Phone (Railway): Could not get presets icon phone-32.png
- E: Fehler beim Laden des Bildes 'owner-change.svg'
- W:  Change of Operator: Could not get presets icon owner-change.svg
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Node id=-40407 version=0 MV lat=51.1002497,lon=14.4010348}
- E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Node id=-40407 version=0 MV lat=51.1002497,lon=14.4010348}


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (16) of main
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Node id=-40407 version=0 MV lat=51.1002497,lon=14.4010348}
	at org.openstreetmap.josm.data.osm.OsmPrimitive.checkDataset(OsmPrimitive.java:252)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:996)
	at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:1021)
	at org.openstreetmap.josm.plugins.turnrestrictions.list.TurnRestrictionsInSelectionListModel.initFromSelection(TurnRestrictionsInSelectionListModel.java:40)
	at org.openstreetmap.josm.plugins.turnrestrictions.list.TurnRestrictionsInSelectionListModel.selectionChanged(TurnRestrictionsInSelectionListModel.java:66)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager$OldListenerInfo.fire(SelectionEventManager.java:57)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.fireEvent(SelectionEventManager.java:203)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.lambda$selectionChanged$0(SelectionEventManager.java:198)
	at java.awt.event.InvocationEvent.dispatch(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.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)

=== RUNNING THREADS ===
Thread: RemoteControl HTTPS Server (39) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
sun.security.ssl.SSLServerSocketImpl.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Thread: File Watcher (10) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source)
java.util.concurrent.LinkedBlockingDeque.take(Unknown Source)
sun.nio.fs.AbstractWatchService.take(Unknown Source)
org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:114)
org.openstreetmap.josm.io.FileWatcher$$Lambda$4/6800315.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Attach Listener (5) of system

Thread: Timer-0 (38) of main
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: D3D Screen Updater (20) of system
java.lang.Object.wait(Native Method)
sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Finalizer (3) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

Thread: RemoteControl HTTP Server (35) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: DestroyJavaVM (42) of main

Thread: Java2D Disposer (11) of system
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
sun.java2d.Disposer.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-Windows (14) of system
sun.awt.windows.WToolkit.eventLoop(Native Method)
sun.awt.windows.WToolkit.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Reference Handler (2) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.lang.ref.Reference.tryHandlePending(Unknown Source)
java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

Thread: Timer-1 (46) of main
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
java.util.TimerThread.mainLoop(Unknown Source)
java.util.TimerThread.run(Unknown Source)

Thread: Thread-1 (9) of main
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus0(Native Method)
sun.nio.fs.WindowsNativeDispatcher.GetQueuedCompletionStatus(Unknown Source)
sun.nio.fs.WindowsWatchService$Poller.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: message-notifier-0 (41) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: RemoteControl HTTP Server (36) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
java.net.ServerSocket.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:103)

Thread: main-worker-0 (44) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Map Status Collector (49) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:406)
java.lang.Thread.run(Unknown Source)

Thread: TimerQueue (18) of system
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(Unknown Source)
java.util.concurrent.DelayQueue.take(Unknown Source)
javax.swing.TimerQueue.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: image-fetcher-0 (27) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: styled-map-renderer-240 (563)
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.ForkJoinPool.awaitWork(Unknown Source)
java.util.concurrent.ForkJoinPool.runWorker(Unknown Source)
java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source)

Thread: JCS-ElementEventQueue-Thread-7 (32) of main
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-Shutdown (13) of system
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Unknown Source)
sun.awt.AWTAutoShutdown.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-0 (16) of main
Stacktrace see above.

Thread: Weak reference cleaner (21) of main
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.lang.ref.ReferenceQueue.remove(Unknown Source)
org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:61)
org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$76/25607935.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

Thread: Signal Dispatcher (4) of system

Thread: RemoteControl HTTPS Server (37) of main
java.net.DualStackPlainSocketImpl.accept0(Native Method)
java.net.DualStackPlainSocketImpl.socketAccept(Unknown Source)
java.net.AbstractPlainSocketImpl.accept(Unknown Source)
java.net.PlainSocketImpl.accept(Unknown Source)
java.net.ServerSocket.implAccept(Unknown Source)
sun.security.ssl.SSLServerSocketImpl.accept(Unknown Source)
org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpsServer.run(RemoteControlHttpsServer.java:407)

Change History (13)

comment:1 by geri-oc, 9 years ago

Es wurde nach dem (versehentlichen) Trennen aller nodes eines Weges (statt nur eines node)und dem "Rückgängig" gemeldet.

comment:2 by Don-vip, 9 years ago

Cc: bastiK stoecker Klumbumbus added
Owner: changed from team to geri-oc
Status: newneedinfo

can anyone please translate this bug report? :)

comment:3 by Klumbumbus, 9 years ago

Summary: Fehlermeldung nach Bearbeiten -> zurückError after Edit -> Undo

comment:4 by Klumbumbus, 9 years ago

Description: modified (diff)

comment:5 by Klumbumbus, 9 years ago

geri-oc: meintest du Linien trennen (shortcut G)?

comment:6 by Don-vip, 9 years ago

Component: CorePlugin turnrestrictions

comment:7 by anonymous, 9 years ago

Linie aus mehreren Linien auswählen (mittleres Mausrad)
mit STRG+Klick zwei Punkte zum trennen auswählen
jetzt normalerweise mit p trennnen - statt dessen STRG weiter gedrückt -> also STRG+P (alle Punkte)

Bedienungs-Fehler gemerkt

Letzte Aktion zurücknehmen (Rückgängig)geklickt:

"Fehlermeldung"

English Google-Translator:
Select line from multiple lines (middle mouse wheel)
With CTRL + click two points to separate
Now normally separated by p - instead of pressing CTRL -> CTRL + P (all points)

Operation error noted

Undo last action (Undo):

"Error message"

comment:8 by geri-oc, 9 years ago

vorigen Kommentar leider ohne Anmeldung gepostet:
Ist von mir: geri-oc

Previous posting unfortunately unregistered posted:
Is from me: geri-oc

comment:9 by Klumbumbus, 9 years ago

Strg+P ist standardmäßig nicht belegt (außer für Drucken reserviert). Meintest du vlt. Strg+Shift+P (Bereinigen) oder Strg+Alt+Shift+P (Benachbarte Linien trennen)?

Last edited 9 years ago by Klumbumbus (previous) (diff)

comment:10 by geri-oc, 9 years ago

Ich konnte das Beispiel von heute früh eben nicht reprodizieren. Aber wahrscheinlich ist es Umschalt gewesen:

gerade mehrmals probiert
way auswählen - way markiert
Umschalt+P zwei nodes klicken - way und nodes markiert
G - trennen - Fehler bemerkt
auf Rückgängig klicken(passiert auch bei STRG+Z) - Fehlermeldung

I could not reproach the example from today. But probably it was change:
Just tried several times
Way - way
Shift + P two nodes click - way and tag marked
G - disconnect errors
To Undo (also happens with CTRL + Z) - Error message

comment:11 by Klumbumbus, 9 years ago

I can reproduce:

  1. display the toggle dialog from the turnrestrictions plugin or the reltoolbox plugin (maybe other plugins are affected too?)
  2. select two ways or two nodes
  3. purge
  4. confirm the purge dialog
  5. org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset...

comment:12 by Klumbumbus, 9 years ago

another way to reproduce:

  1. display the toggle dialog from the turnrestrictions plugin or the reltoolbox plugin
  2. select a way which has waynodes which belong to another way too (e.g. https://www.openstreetmap.org/way/108574602)
  3. press G (un-glue)
  4. press ctrl+Z (undo)

comment:13 by Don-vip, 8 years ago

Description: modified (diff)
Summary: Error after Edit -> UndoDataIntegrityProblemException: Primitive must be part of the dataset
Note: See TracTickets for help on using tickets.