Modify

Opened 3 years ago

Last modified 3 years ago

#22935 new defect

Permission problems using mbtiles on windows 10

Reported by: osmstuff@… Owned by: iandees
Priority: normal Milestone:
Component: Plugin mbtiles Version:
Keywords: template_report webstart Cc:

Description (last modified by taylor.smock)

What steps will reproduce the problem?

  1. Open large mbtile file
  2. zoom in close
  3. 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 taylor.smock, 3 years ago

Component: CorePlugin mbtiles
Description: modified (diff)
Keywords: webstart added
Owner: changed from team to iandees

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.newForkJoinPool that should "just work".

I'm going to see if I can figure out why we aren't setting java.util.concurrent.ForkJoinPool.common.threadFactory somewhere. Java docs indicate that should let us get around the webstart ForkJoinPool#commonPool issues (that is what is happening with the .parallel() stream call).

comment:2 by taylor.smock, 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).

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain iandees.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from iandees to the specified user.
Next status will be 'needinfo'. The owner will be changed from iandees to osmstuff@….
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from iandees to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.