Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#21118 closed defect (fixed)

JosmRuntimeException: failed to remove primitive

Reported by: richlv Owned by: taylor.smock
Priority: normal Milestone:
Component: Plugin mapillary Version: tested
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

Unsure - used JOSM panning, adding data, switching Mapillary and phototagged photos.

What is the expected result?

No exception.

What happens instead?

Exception.

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-07-12 02:41:41 +0200 (Mon, 12 Jul 2021)
Build-Date:2021-07-12 00:42:49
Revision:18004
Relative:URL: ^/trunk

Identification: JOSM/1.5 (18004 en_GB) Mac OS X 10.15.7
OS Build number: Mac OS X 10.15.7 (19H1217)
Memory Usage: 2519 MB / 3641 MB (638 MB allocated, but free)
Java version: 1.8.0_291-b10, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 69733382 1680×1050 (scaling 1.00×1.00)
Maximum Screen Size: 1680×1050
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_GB
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djnlp.application.href=https://josm.openstreetmap.de/download/josm.jnlp, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlp.tk=awt, -Djnlpx.jvm=<java.home>/bin/java, -Djnlpx.splashport=-1, -Djnlpx.home=<java.home>/bin, -Djnlpx.remove=false, -Djnlpx.offline=false, -Djnlpx.relaunch=true, -Djnlpx.session.data=/var/folders/nl/flqxqsmj5q963r7tcnfrdt3c0000gn/T/session684034602114679009, -Djnlpx.heapsize=NULL,NULL, -Djava.security.policy=file:<java.home>/lib/security/javaws.policy, -DtrustProxy=true, -Djnlpx.origFilenameArg=/Users/richlv/Library/Application Support/Oracle/Java/Deployment/cache/6.0/56/1ee8cfb8-72e8e992, -Dsun.awt.warmup=true, -Djava.security.manager]
Dataset consistency test: No problems found

Plugins:
+ HouseNumberTaggingTool (35640)
+ InfoMode (35543)
+ Mapillary (2.0.0-alpha.26-dirty)
+ PicLayer (1.0.1)
+ apache-commons (35524)
+ apache-http (35589)
+ dataimport (35640)
+ ejml (35458)
+ geotools (35458)
+ imagery_offset_db (35640)
+ javafx-osx (35655)
+ jaxb (35543)
+ jna (35662)
+ jts (35458)
+ measurement (35640)
+ opendata (35640)
+ pbf (35720)
+ photo_geotagging (35738)
+ reverter (35732)
+ utilsplugin2 (35691)

Map paint styles:
+ /Users/richlv/Desktop/ChangeFontSize.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1

Last errors/warnings:
- 00086.957 W: Failed to load Mappaint styles from '/Users/richlv/Desktop/ChangeFontSize.mapcss'. Exception was: java.nio.file.NoSuchFileException: /Users/richlv/Desktop/ChangeFontSize.mapcss
- 00086.958 E: java.nio.file.NoSuchFileException: /Users/richlv/Desktop/ChangeFontSize.mapcss
- 00086.962 E: java.nio.file.NoSuchFileException: /Users/richlv/Desktop
- 00086.962 W: Initializing map style /Users/richlv/Desktop/ChangeFontSize.mapcss completed in 6 ms (1 errors, 0 warnings)
- 01724.244 E: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@1e85e5d9



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: MVT-downloader-21 (517)
org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@1e85e5d9
	at org.openstreetmap.josm.data.osm.QuadBucketPrimitiveStore.removePrimitive(QuadBucketPrimitiveStore.java:128)
	at org.openstreetmap.josm.data.vector.DataStore$LocalQuadBucketPrimitiveStore.removePrimitive(DataStore.java:42)
	at org.openstreetmap.josm.data.vector.DataStore.removePrimitive(DataStore.java:96)
	at org.openstreetmap.josm.data.vector.VectorDataSet.removePrimitive(VectorDataSet.java:156)
	at org.openstreetmap.josm.plugins.mapillary.gui.layer.MapillaryVectorTileWorkarounds.lambda$setNodeIds$1(MapillaryVectorTileWorkarounds.java:63)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.Iterator.forEachRemaining(Iterator.java:116)
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
	at org.openstreetmap.josm.plugins.mapillary.gui.layer.MapillaryVectorTileWorkarounds.setNodeIds(MapillaryVectorTileWorkarounds.java:58)
	at org.openstreetmap.josm.plugins.mapillary.gui.layer.MapillaryLayer.finishedLoading(MapillaryLayer.java:757)
	at org.openstreetmap.josm.data.imagery.vectortile.mapbox.MVTTile.lambda$loadImage$1(MVTTile.java:73)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:162)
	at org.openstreetmap.josm.data.imagery.vectortile.mapbox.MVTTile.loadImage(MVTTile.java:73)
	at org.openstreetmap.josm.data.imagery.TMSCachedTileLoaderJob.tryLoadTileImage(TMSCachedTileLoaderJob.java:328)
	at org.openstreetmap.josm.data.imagery.TMSCachedTileLoaderJob.loadingFinished(TMSCachedTileLoaderJob.java:210)
	at org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.finishLoading(JCSCachedTileLoaderJob.java:265)
	at org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.run(JCSCachedTileLoaderJob.java:234)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

Attachments (0)

Change History (10)

comment:1 by taylor.smock, 4 years ago

Resolution: fixed
Status: newclosed

comment:2 by taylor.smock, 4 years ago

Ticket #21088 has been marked as a duplicate of this ticket.

comment:3 by richlv, 4 years ago

Yay, thank you for the quick fix :)

comment:4 by taylor.smock, 4 years ago

No problem. I haven't run a release yet -- I'm going through my email to check for additional issues I can quickly fix before doing another release.

in reply to:  4 comment:5 by taylor.smock, 4 years ago

I didn't see anything else in my email, so I've done another release.

Thank you for your bug reports. :)

comment:6 by skyper, 4 years ago

Ticket #21169 has been marked as a duplicate of this ticket.

comment:7 by skyper, 4 years ago

As #21178 shows, the fix is not working.

in reply to:  7 comment:8 by taylor.smock, 4 years ago

Replying to skyper:

As #21178 shows, the fix is not working.

It was partially working (as in, 95% of the time where it would have triggered the bug, it no longer did). The fix here was checking if the dataset still contained the node. The addition I added for #21178 added a synchronization on the node object so that it doesn't have the race condition as described in comment:3:ticket:21178.

comment:9 by skyper, 4 years ago

Sorry, should have written: The fix is not always working.

in reply to:  9 comment:10 by taylor.smock, 4 years ago

Replying to skyper:

Sorry, should have written: The fix is not always working.

No worries. Text communication is hard. :(

I did figure I had to respond with an explanation for why I believed that the fix wasn't always working.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain taylor.smock.
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.