#21237 closed defect (fixed)
"JosmRuntimeException: failed to remove primitive" in Mapillary plugin
Reported by: | anonymous | Owned by: | anonymous |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin mapillary | Version: | |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- With a data layer loaded, enable the Mapillary plugin.
- Pan around.
What is the expected result?
It just works.
What happens instead?
Occasionally a crash is reported, JOSM still continues to work normally after that.
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2021-08-02 19:44:04 +0200 (Mon, 02 Aug 2021) Revision:18118 Build-Date:2021-08-02 18:26:20 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18118 en) Linux Ubuntu 20.04.3 LTS Memory Usage: 987 MB / 3978 MB (132 MB allocated, but free) Java version: 11.0.11+9-Ubuntu-0ubuntu2.20.04, Ubuntu, OpenJDK 64-Bit Server VM Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel Screen: :0.0 1600×900 (scaling 1.00×1.00) :0.1 1600×900 (scaling 1.00×1.00) Maximum Screen Size: 1600×900 Best cursor sizes: 16×16→16×16, 32×32→32×32 Environment variable LANG: en_US.UTF-8 System property file.encoding: UTF-8 System property sun.jnu.encoding: UTF-8 Locale info: en_US Numbers with default locale: 1234567890 -> 1234567890 Desktop environment: MATE Java package: openjdk-11-jre:amd64-11.0.11+9-0ubuntu2~20.04 Java ATK Wrapper package: libatk-wrapper-java:all-0.37.1-1 libcommons-compress-java: libcommons-compress-java:all-1.19-1 libcommons-logging-java: libcommons-logging-java:all-1.2-2 fonts-noto: fonts-noto:all-20200323-1build1~ubuntu20.04.1 VM arguments: [--add-modules=java.scripting,java.sql, -Djosm.restart=true, -Djava.net.useSystemProxies=true] Dataset consistency test: No problems found Plugins: + DirectUpload (35640) + InfoMode (35543) + KartaView (374) + Mapillary (2.0.0-alpha.31-dirty) + PicLayer (1.0.1) + SimplifyArea (35640) + apache-commons (35524) + apache-http (35589) + cadastre-fr (35797) + ejml (35458) + geotools (35458) + javafx-unixoid (35655) + jna (35662) + jts (35458) + measurement (35640) + merge-overlap (35640) + photo_geotagging (35783) + print (35640) + reverter (35732) + todo (30306) + turnrestrictions (35640) + undelete (35640) + utilsplugin2 (35792) Last errors/warnings: - 00934.447 E: Unknown detection "object--sign--back" - 00934.619 E: Unknown detection "construction--barrier--road-side" - 00934.620 E: Unknown detection "construction--barrier--road-side" - 00934.621 E: Unknown detection "construction--barrier--road-side" - 00934.622 E: Unknown detection "construction--barrier--road-side" - 00934.623 E: Unknown detection "construction--barrier--road-side" - 00934.624 E: Unknown detection "construction--barrier--road-side" - 00934.624 E: Unknown detection "construction--barrier--road-side" - 00934.750 E: Unknown detection "object--sign--back" - 13202.932 E: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@1557952c === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: MVT-downloader-20 (233) org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@1557952c 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$2(MapillaryVectorTileWorkarounds.java:70) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497) at org.openstreetmap.josm.plugins.mapillary.gui.layer.MapillaryVectorTileWorkarounds.setNodeIds(MapillaryVectorTileWorkarounds.java:61) 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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)
Attachments (0)
Change History (9)
comment:1 by , 4 years ago
Component: | Core → Plugin mapillary |
---|---|
Owner: | changed from | to
comment:2 by , 4 years ago
Summary: | Crash in Mapillary plugin → "JosmRuntimeException: failed to remove primitive" in Mapillary plugin |
---|
comment:3 by , 4 years ago
comment:4 by , 4 years ago
Owner: | changed from | to
---|---|
Status: | new → needinfo |
@anonymous: Let me know if this occurs again. I've released an updated version of the plugin.
comment:5 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | needinfo → closed |
Anonymous people rarely reply, let's say it's fixed.
comment:6 by , 4 years ago
I know. But I was hoping that they would check it again. I was going to close it in a week if they didn't reply.
comment:8 by , 4 years ago
JOSM: A Lost Hope...
Anyway, I wish people at least put an email in the reported by field. I know it is already encouraged (In any case, don't be shy :) Please let us a way to contact you if needed (either by creating an account or entering your e-mail address below (it won't be publicly visible but will allow us to reach you, and you will be notified about ticket progress).
)
I kind of wish the "Create ticket" button changed based off of the input from the email/user name field. (if anonymous; then show "Create ticket (I hope the ticket has all the information, otherwise it will be closed)"; else show "Create ticket"
).
Or maybe a flashing banner? But that is a discussion for another ticket...
comment:9 by , 4 years ago
The "always include status report" of the banner is also too often ignored. I don't think a flashing banner will change that, it will instead make people afraid of flashing things like me leave the website ASAP ;)
I hate this bug -- I have a hard time reproducing. In the past, I've synchronized the areas where I expect there to be race conditions. I have also moved the problem code around in my current working branch.
Mapillary doesn't give us unique ids per vector tile feature per layer, and the problem code is trying to work around that (I've got to set the primitive id, remove the primitive from the dataset, and the add the primitive to the dataset). I'll try to make a release today, and hope that it is fixed.