Opened 3 years ago
Closed 3 years ago
#21178 closed defect (fixed)
Mapillary: failed to remove primitive: VectorNode in MapillaryVectorTileWorkarounds
Reported by: | messinian | Owned by: | taylor.smock |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin mapillary | Version: | latest |
Keywords: | template_report | Cc: |
Description
What steps will reproduce the problem?
- was viewing Mapillary images along a trace to determine how closely aligned images are with basemap image (NYS Ortho)
- Trying to get more info on the data so opened "OpenStreetMap obj info" window" Clicking any of the icons did not give me info (not sure if it even should, I'm a newbie.
- got an error message
What is the expected result?
What happens instead?
Please provide any additional information below. Attach a screenshot if possible.
Sorry, I'm not really sure what happened or how to repeat it.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2021-07-12 02:41:41 +0200 (Mon, 12 Jul 2021) Revision:18004 Build-Date:2021-07-12 00:42:49 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18004 en) Windows 10 64-Bit OS Build number: Windows 10 Home 2009 (19042) Memory Usage: 1494 MB / 4046 MB (161 MB allocated, but free) Java version: 11.0.10+9, AdoptOpenJDK, OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel Screen: \Display0 3840×2160 (scaling 2.50×2.50) Maximum Screen Size: 3840×2160 Best cursor sizes: 16×16→64×64, 32×32→64×64 System property file.encoding: Cp1252 System property sun.jnu.encoding: Cp1252 Locale info: en_US Numbers with default locale: 1234567890 -> 1234567890 VM arguments: [-Dicedtea-web.bin.location=C:\Program Files\OpenWebStart\javaws, -Djava.util.Arrays.useLegacyMergeSort=true, --add-exports=jdk.deploy/com.sun.deploy.config=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-modules=java.scripting,java.sql, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop,jdk.jsobject, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop] Dataset consistency test: No problems found Plugins: + ElevationProfile (35640) + ImportImagePlugin (35567) + ImproveWay (32) + InfoMode (35543) + MakeParallel (v1.1.0) + Mapillary (2.0.0-alpha.29-dirty) + MicrosoftStreetside (35779) + apache-commons (35524) + apache-http (35589) + buildings_tools (35756) + changeset-viewer (25) + ejml (35458) + geochat (35640) + geotools (35458) + imagery_offset_db (35640) + javafx-windows (35655) + jaxb (35543) + jna (35662) + jts (35458) + log4j (35458) + opendata (35640) + openvisible (35640) + osm-obj-info (66) + splinex (35718) + utilsplugin2 (35792) Last errors/warnings: - 00000.274 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF' - 00000.276 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF' - 00007.202 W: java.nio.file.FileSystemException: %UserProfile%\AppData\Local\Temp\josm_exec_powershell_8554583551334398896.txt: The process cannot access the file because it is being used by another process. - 00007.204 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl - 00012.257 W: java.nio.file.FileSystemException: %UserProfile%\AppData\Local\Temp\josm_exec_powershell_14425925932967569151.txt: The process cannot access the file because it is being used by another process. - 00012.258 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl - 01735.200 E: java.io.FileNotFoundException: %UserProfile%\Documents\test (The system cannot find the file specified) - 03889.325 E: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@4557d88 === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: MVT-downloader-19 (300) org.openstreetmap.josm.tools.JosmRuntimeException: failed to remove primitive: org.openstreetmap.josm.data.vector.VectorNode@4557d88 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:64) 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: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.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:834)
Attachments (0)
Change History (3)
comment:1 by , 3 years ago
comment:2 by , 3 years ago
Component: | Core → Plugin mapillary |
---|---|
Owner: | changed from | to
comment:3 by , 3 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Summary: | clueless → Mapillary: failed to remove primitive: VectorNode in MapillaryVectorTileWorkarounds |
I thought I fixed this. It is, unfortunately, a "race" problem, so it is difficult to reproduce reliably for unit tests.
What probably is happening is the following:
- A thread checks that the DataSet contains the VectorNode
- Another thread does the same thing, but just before the next step
- The first thread removes the VectorNode from the DataSet
- The second thread then tries to do the same thing
Anyway, I've added code to synchronize on the VectorNode object, so it hopefully doesn't happen again.
See 2af1c7507fa5acd81a89428fbe48ea843e26aa86. I will make a release with that fix in the next hour or two (as soon as the CI finishes running for it).
Sorry, very new to software, not sure what I was actually doing when the error popped up. Seems to have something to do with the Mapillary plugin.