Modify

Opened 7 years ago

Closed 11 months ago

Last modified 11 months ago

#8639 closed defect (fixed)

Exception in validator after purging a way

Reported by: bilbo Owned by: team
Priority: normal Milestone:
Component: Core validator Version:
Keywords: Cc:

Description

  1. Run validator
  2. Click on one from "Duplicated ways" to select it.
  3. Purge it (Ctrl-Shift-P). Notice that number of ways under "Duplicated ways" is not decreased after purging.
  4. Now double click "Duplicated ways" and try to select all the duplicated ways
  5. Exception (see below) - seems it tries to select the purged way too, which is no longer in data set.

Build-Date: 2013-03-16 02:10:31
Revision: 5777
Is-Local-Build: true

Identification: JOSM/1.5 (5777 SVN en)
Memory Usage: 754 MB / 754 MB (552 MB allocated, but free)
Java version: 1.6.0_26, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: SimplifyArea (29355)
Plugin: Tracer (29210)
Plugin: buildings_tools (29210)
Plugin: download_along (29210)
Plugin: graphview (29210)
Plugin: lakewalker (29210)
Plugin: measurement (29344)
Plugin: openstreetbugs (29210)
Plugin: reverter (29359)
Plugin: terracer2 (${version.entry.commit.revision})
Plugin: undelete (29210)
Plugin: utilsplugin2 (29351)
Plugin: waydownloader (29210)

org.openstreetmap.josm.data.osm.DataIntegrityProblemException: Primitive must be part of the dataset: {Way id=139257009 version=1 VT nodes=[{Node id=1526542541 version=1 V lat=50.369518,lon=15.307168}, {Node id=1526542537 version=1 V lat=50.36947,lon=15.307126}, {Node id=1526542539 version=1 V lat=50.369518,lon=15.307001}, {Node id=1526542555 version=1 V lat=50.369564,lon=15.307043}, {Node id=1526542541 version=1 V lat=50.369518,lon=15.307168}]}

at org.openstreetmap.josm.data.osm.OsmPrimitive.checkDataset(OsmPrimitive.java:333)
at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:947)
at org.openstreetmap.josm.data.osm.OsmPrimitive.getReferrers(OsmPrimitive.java:968)
at org.openstreetmap.josm.data.validation.tests.DuplicateWay.isFixable(DuplicateWay.java:311)
at org.openstreetmap.josm.data.validation.TestError.isFixable(TestError.java:226)
at org.openstreetmap.josm.gui.dialogs.ValidatorDialog.setSelection(ValidatorDialog.java:415)
at org.openstreetmap.josm.gui.dialogs.ValidatorDialog.access$700(ValidatorDialog.java:66)
at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$ClickWatch.mouseClicked(ValidatorDialog.java:464)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6291)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6053)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4651)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4481)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
at java.awt.EventQueue.access$000(EventQueue.java:84)
at java.awt.EventQueue$1.run(EventQueue.java:602)
at java.awt.EventQueue$1.run(EventQueue.java:600)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$2.run(EventQueue.java:616)
at java.awt.EventQueue$2.run(EventQueue.java:614)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
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 (4)

comment:1 Changed 7 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 5911/josm:

fix #8639 - Handle purged primitives in validator errors

comment:2 Changed 11 months ago by GerdP

Resolution: fixed
Status: closedreopened

While looking at #17401 I noticed that this problem still(?) exists in r14828:

2019-03-03 13:39:55.375 WARNING: JOSM expected to find primitive [node 3515924293] in dataset but it is not there. Please report this at https://josm.openstreetmap.de. This is not a critical error, it should be safe to continue in your work.
2019-03-03 13:39:55.376 SEVERE: java.lang.Exception
java.lang.Exception
	at org.openstreetmap.josm.data.osm.DataSet.getPrimitiveByIdChecked(DataSet.java:727)
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.util.stream.ReferencePipeline.collect(Unknown Source)
	at org.openstreetmap.josm.data.osm.DataSelectionListener$SelectionReplaceEvent.<init>(DataSelectionListener.java:135)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$5(DataSet.java:615)
	at org.openstreetmap.josm.data.osm.DataSet.doSelectionChange(DataSet.java:679)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:615)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:606)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$MouseEventHandler.mouseClicked(ValidatorDialog.java:489)
	at java.awt.AWTEventMulticaster.mouseClicked(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$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.security.ProtectionDomain$JavaSecurityAccessImpl.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$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)

comment:3 Changed 11 months ago by Don-vip

This is unlikely to be the same problem, 6 years after. The stacktrace has nothing to do with original problem. Can you please open a new ticket instead?

comment:4 Changed 11 months ago by GerdP

Resolution: fixed
Status: reopenedclosed

See #17412

Last edited 11 months ago by GerdP (previous) (diff)

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.

Add Comment


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

 
Note: See TracTickets for help on using tickets.