#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 , 4 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
follow-up: 5 comment:4 by , 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.
comment:5 by , 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:8 by , 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:10 by , 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.
Fixed in 5df97eec2a23af03f9eb279024945251f990b91f.