Modify

Opened 3 years ago

Closed 3 years ago

#13264 closed defect (fixed)

typo in aerial imagery url makes josm crash

Reported by: kdano Owned by: team
Priority: minor Milestone: 16.07
Component: Core imagery Version:
Keywords: template_report wms url tms Cc:

Description

What steps will reproduce the problem?

  1. I accidentally set the zoom levels of a new aerial imagery to be "[17-19]" instead of "[17,19]"
  2. Then loaded the imagery.

What is the expected result?

I guess it should tell me that the syntax is wrong.

What happens instead?

Crashes and tells me to submit a bug report. So here it is.

Please provide any additional information below. Attach a screenshot if possible.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-07-11 23:04:49 +0200 (Mon, 11 Jul 2016)
Build-Date:2016-07-12 01:31:48
Revision:10526
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10526 en) Linux Fedora release 24 (Twenty Four)
Memory Usage: 214 MB / 1742 MB (47 MB allocated, but free)
Java version: 1.8.0_101-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
WebStart package: icedtea-web:x86_64-1.6.2
VM arguments: [-Dicedtea-web.bin.name=javaws.itweb, -Dicedtea-web.bin.location=/usr/bin/javaws.itweb]
Dataset consistency test: No problems found

Plugins:
- buildings_tools (32639)
- imagery_offset_db (32528)
- reverter (32584)
- turnlanes (32584)
- undelete (32584)
- utilsplugin2 (32584)

Tagging presets:
- https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1

Last errors/warnings:
- W: Unable to delete file <josm.pref>/cache/tiles/WMS.key
- W: Unable to delete file <josm.pref>/cache/tiles/WMS.data
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_BLOCK.key
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_BLOCK.data
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_INDEX.key
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_INDEX.data
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_INDEX_v2.key
- W: Unable to delete file <josm.pref>/cache/tiles/WMS_INDEX_v2.data
- E: org.openstreetmap.josm.tools.bugreport.ReportedException: java.lang.IllegalArgumentException: {z} is not a valid WMS argument. Please check this server URL:
- E: org.openstreetmap.josm.tools.bugreport.ReportedException: java.lang.IllegalArgumentException: {z} is not a valid WMS argument. Please check this server URL:

=== REPORTED CRASH DATA ===
MapView#layerAdded:
 - layer: org.openstreetmap.josm.gui.layer.WMSLayer@4b48a18f

LayerManager#fireLayerAdded:
 - listener: org.openstreetmap.josm.gui.MapView[,0,0,911x886,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
 - event: LayerAddEvent [addedLayer=org.openstreetmap.josm.gui.layer.WMSLayer@4b48a18f]

=== STACK TRACE ===
Thread: AWT-EventQueue-2 (23) of JOSM
java.lang.IllegalArgumentException: {z} is not a valid WMS argument. Please check this server URL:
tms[17-19]:http://e.tile.openstreetmap.hu/balaton/0/{z}/{x}/{y}.jpg
	at org.openstreetmap.josm.data.imagery.TemplatedWMSTileSource.checkUrl(TemplatedWMSTileSource.java:348)
	at org.openstreetmap.josm.gui.layer.WMSLayer.getTileSource(WMSLayer.java:74)
	at org.openstreetmap.josm.gui.layer.WMSLayer.getTileSource(WMSLayer.java:37)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:643)
	at org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:624)
	at org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:634)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:394)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:196)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:271)
	at org.openstreetmap.josm.gui.layer.LayerManager$1.run(LayerManager.java:183)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:146)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:180)
	at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:82)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
	at java.awt.Component.processMouseEvent(Component.java:6533)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6298)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
	at java.awt.Container.dispatchEventImpl(Container.java:2280)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (0)

Change History (4)

comment:1 Changed 3 years ago by Don-vip

Component: CoreCore imagery
Keywords: wms url added
Milestone: 16.07

comment:2 Changed 3 years ago by simon04

Due to [17-19] the TMS entry is erroneously considered as WMS entry. This test fails:

  • test/unit/org/openstreetmap/josm/data/imagery/ImageryInfoTest.java

    diff --git a/test/unit/org/openstreetmap/josm/data/imagery/ImageryInfoTest.java b/test/unit/org/openstreetmap/josm/data/imagery/ImageryInfoTest.java
    index 52b62d3..2f684ab 100644
    a b public void testGetExtendedUrl() { 
    4141        assertEquals("tms[16,23]:http://localhost", testImageryTMS.getExtendedUrl());
    4242    }
    4343
     44    @Test
     45    public void testConstruct() throws Exception {
     46        final ImageryInfo info = new ImageryInfo("test imagery", "tms[16-23]:http://localhost");
     47        assertEquals(ImageryInfo.ImageryType.TMS, info.getImageryType());
     48        assertEquals(16, info.getMinZoom());
     49        assertEquals(23, info.getMaxZoom());
     50        assertEquals("http://localhost", info.getUrl());
     51    }
     52
    4453    /**
    4554     * Tests the {@linkplain Preferences#serializeStruct(Object, Class) serialization} of {@link ImageryInfo.ImageryPreferenceEntry}
    4655     */

comment:3 Changed 3 years ago by Don-vip

Keywords: tms added

comment:4 Changed 3 years ago by Don-vip

Resolution: fixed
Status: newclosed

In 10735/josm:

fix #13264 - more lenient TMS url regex to allow - zoom separator

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.