Opened 3 years ago
Last modified 3 years ago
#22935 new defect
Permission problems using mbtiles on windows 10
| Reported by: | Owned by: | iandees | |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Plugin mbtiles | Version: | |
| Keywords: | template_report webstart | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- Open large mbtile file
- zoom in close
- zoom out and pan quickly
What is the expected result?
nothing, pan and zoom normaly
What happens instead?
errors, ignoring the errors makes the editor slugish, but it still works
Please provide any additional information below. Attach a screenshot if possible.
Using openwebstart
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2023-05-01 18:25:03 +0200 (Mon, 01 May 2023) Revision:18721 Build-Date:2023-05-02 01:30:57 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (18721 en) Windows 10 64-Bit OS Build number: Windows 10 Home 2009 (19045) Memory Usage: 1734 MB / 4058 MB (238 MB allocated, but free) Java version: 17.0.5+8-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel Screen: \Display0 1920×1080 (scaling 1.25×1.25) \Display1 1920×1200 (scaling 1.00×1.00) Maximum Screen Size: 1920×1200 Best cursor sizes: 16×16→32×32, 32×32→32×32 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,javafx.controls,javafx.media,javafx.swing,javafx.web, --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: + ImportImagePlugin (36013) + apache-commons (36034) + ejml (35924) + geotools (36068) + jackson (36034) + jaxb (35952) + jts (36004) + mbtiles (v2.6.1) + merge-overlap (35893) + opendata (36076) + reltoolbox (35976) + reverter (36043) + utilsplugin2 (36011) Tagging presets: + https://josm.openstreetmap.de/josmfile?page=Presets/NonMotorizedRoutes&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/Greenery&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/hiking_routes_with_trail_marking&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/Leaftype&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/Mountains&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/SkiingTrail&zip=1 + https://josm.openstreetmap.de/josmfile?page=Presets/Tagsforobservatories&zip=1 + https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/SE.zip + https://raw.githubusercontent.com/Heiner-Sch/JOSM-preset-trees-Europe/master/JOSM-Preset_Trees.xml Map paint styles: + https://github.com/igitov/forest-josm-style/archive/master.zip + https://josm.openstreetmap.de/josmfile?page=Styles/Greenery&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1 - https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss - https://josm.openstreetmap.de/josmfile?page=Styles/Mountains&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/MTB&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/NumberedCycleNodeNetworks&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/NumberedWalkingNodeNetworks&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/Osmc&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/sac_scale&zip=1 - https://josm.openstreetmap.de/josmfile?page=Styles/SidewalksAndFootways&zip=1 - https://raw.githubusercontent.com/yopaseopor/traffic_signs_style_JOSM/master/Styles_Traffic_signs_EUR_OC.zip - https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1 Last errors/warnings: - 00003.154 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl - 00304.698 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00308.224 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00311.023 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00313.627 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00345.485 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00353.031 E: Failed to locate image 'https://vbk.lansstyrelsen.se/Content/images/logo.png' - 00764.679 E: Handled by bug report queue: java.lang.SecurityException: java.lang.SecurityException: Unable to create temporary file or directory. Cause: java.lang.SecurityException: Unable to create temporary file or directory - 00764.695 E: Handled by bug report queue: java.lang.SecurityException: java.lang.SecurityException: Unable to create temporary file or directory. Cause: java.lang.SecurityException: Unable to create temporary file or directory - 00764.758 E: Handled by bug report queue: java.lang.SecurityException: java.lang.SecurityException: Unable to create temporary file or directory. Cause: java.lang.SecurityException: Unable to create temporary file or directory === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: AWT-EventQueue-1 (46) of JOSM java.lang.SecurityException: java.lang.SecurityException: Unable to create temporary file or directory at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:562) at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:689) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSet.visitTiles(AbstractTileSourceLayer.java:1360) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.paintTileImages(AbstractTileSourceLayer.java:1036) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.drawInViewArea(AbstractTileSourceLayer.java:1593) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.access$2700(AbstractTileSourceLayer.java:146) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSourcePainter.doPaint(AbstractTileSourceLayer.java:2023) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSourcePainter.paint(AbstractTileSourceLayer.java:2005) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:469) at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:584) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:491) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:952) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1128) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5311) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1657) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1632) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1570) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1337) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5259) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5069) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:879) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:862) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:862) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:835) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:784) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1898) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90) Caused by: java.lang.SecurityException: Unable to create temporary file or directory at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:141) at java.base/java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:159) at java.base/java.nio.file.Files.createTempFile(Files.java:923) at java.desktop/javax.imageio.stream.FileCacheImageInputStream.<init>(FileCacheImageInputStream.java:102) at java.desktop/com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(InputStreamImageInputStreamSpi.java:69) at java.desktop/javax.imageio.ImageIO.createImageInputStream(ImageIO.java:359) at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1361) at org.openstreetmap.gui.jmapviewer.Tile.loadImage(Tile.java:247) at org.openstreetmap.josm.gui.layer.imagery.ReprojectionTile.loadImage(ReprojectionTile.java:96) at org.openstreetmap.josm.plugins.mbtiles.MbtilesTileLoader$1.run(MbtilesTileLoader.java:43) at org.openstreetmap.josm.plugins.mbtiles.MbtilesTileLoader$1.submit(MbtilesTileLoader.java:70) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.loadTile(AbstractTileSourceLayer.java:927) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.lambda$paintTileImages$2(AbstractTileSourceLayer.java:1073) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSet.visitTilePosition(AbstractTileSourceLayer.java:1368) at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer$TileSet.lambda$visitTiles$5(AbstractTileSourceLayer.java:1360) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180) at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) 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:596) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) at java.base/java.util.stream.IntPipeline$1$1.accept(IntPipeline.java:180) at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
Attachments (0)
Change History (2)
comment:1 by , 3 years ago
| Component: | Core → Plugin mbtiles |
|---|---|
| Description: | modified (diff) |
| Keywords: | webstart added |
| Owner: | changed from to |
comment:2 by , 3 years ago
OK. java.util.concurrent.ForkJoinPool.common.threadFactory is not considered a "secure" VM argument by webstart, so it doesn't get applied until after JOSM is started. So what Don-vip did in #15722 is probably the best we can do until we move to Java 21+ (where hopefully the JVM doesn't lock the common pool down as much).



This is probably a webstart problem, and will most likely be fixed with Java 21 (the security manager was deprecated for removal in Java 17). OpenWebStart has their own issue for the removal of the security manager.
@osmstuff: Until someone fixes this issue, either in mbtiles or a newer version of OpenWebStart with Java 18 or later, you can run JOSM via one of the installers.
@iandees: I don't know if you are still maintaining mbtiles, but if so, see #15722. There is a
Utils.newForkJoinPoolthat should "just work".I'm going to see if I can figure out why we aren't setting
java.util.concurrent.ForkJoinPool.common.threadFactorysomewhere. Java docs indicate that should let us get around the webstart ForkJoinPool#commonPool issues (that is what is happening with the.parallel()stream call).