Modify ↓
Opened 16 years ago
Closed 15 years ago
#5018 closed defect (fixed)
DataIntegrityProblemException: Primitive must be part of the dataset
| Reported by: | Owned by: | team | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Core | Version: | |
| Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- I'm not sure, I was uploading a edited way with points added for more resolution.
- Trying to repeat the same pattern I have tried to download a different zone with josm to make the same patter and I have just received a 500 internal server error, o this can be just a hiccup of the server, don't know.
What is the expected result?
The modified way is uploaded ok.
What happens instead?
Please provide any additional information below. Attach a screenshot if
possible.
Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-05-13 01:31:39
Last Changed Author: jttt
Revision: 3237
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-05-12 21:37:49 +0200 (Wed, 12 May 2010)
Last Changed Rev: 3237
Memory Usage: 178 MB / 764 MB (72 MB allocated, but free)
Java version: 1.6.0_20, Sun Microsystems Inc., Java HotSpot(TM) Server VM
Operating system: Linux
Dataset consistency test:
No problems found
Plugins: editgpx,openvisible,remotecontrol,slippymap,validator,wmsplugin
Plugin wmsplugin (Version: 20891)
Plugin editgpx (Version: 19683)
Plugin openvisible (Version: 20067)
Plugin remotecontrol (Version: 19946)
Plugin validator (Version: 20799)
Plugin slippymap (Version: 19887)
org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Node id=731887786 version=1 MV lat=41.040577107405895,lon=-0.8072117833940599}
at org.openstreetmap.josm.data.osm.OsmPrimitive.checkDataset(OsmPrimitive.java:229)
at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:1074)
at org.openstreetmap.josm.actions.search.SearchCompiler$Child.match(SearchCompiler.java:582)
at org.openstreetmap.josm.actions.search.SearchCompiler$Or.match(SearchCompiler.java:118)
at org.openstreetmap.josm.actions.search.SearchAction.getSelection(SearchAction.java:293)
at org.openstreetmap.josm.data.osm.Filters.executeFilters(Filters.java:47)
at org.openstreetmap.josm.gui.dialogs.FilterDialog.processDatasetEvent(FilterDialog.java:193)
at org.openstreetmap.josm.data.osm.event.DataSetListenerAdapter.dataChanged(DataSetListenerAdapter.java:23)
at org.openstreetmap.josm.data.osm.event.DataChangedEvent.fire(DataChangedEvent.java:26)
at org.openstreetmap.josm.data.osm.event.DatasetEventManager.fireConsolidatedEvents(DatasetEventManager.java:117)
at org.openstreetmap.josm.data.osm.event.DatasetEventManager.access$300(DatasetEventManager.java:27)
at org.openstreetmap.josm.data.osm.event.DatasetEventManager$1.run(DatasetEventManager.java:187)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)
at java.awt.Dialog$1.run(Dialog.java:1046)
at java.awt.Dialog$3.run(Dialog.java:1098)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1096)
at java.awt.Component.show(Component.java:1563)
at java.awt.Component.setVisible(Component.java:1515)
at java.awt.Window.setVisible(Window.java:842)
at java.awt.Dialog.setVisible(Dialog.java:986)
at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:83)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Attachments (0)
Change History (7)
comment:1 by , 16 years ago
comment:5 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.



This is another variant of #4861 (not a duplicate). This time copy of list of primitives is used so there is no ConcurrentModificationException, but primitives are removed while filtering so when some primitive is about to be filtered, it's no longer part of dataset.
It can be fixed by making Dataset thread safe and locking dataset in case of operations like filtering.