Modify

Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#14800 closed defect (fixed)

when Plugin imagery_offset_db is active, loading BG from DigitalGlobe Standard leads to unexpected exception

Reported by: jhohn <openstreetmap@…> Owned by: Zverikk
Priority: major Milestone:
Component: Plugin imagery_offset_db Version: tested
Keywords: plugin imagery_offset_db Cc:

Description

What steps will reproduce the problem?

  1. Start josm with plugin imagery_offset_db enabled or enable plugin before loading background
  2. get tile from HOT tasking Manager (via JOSM remote)
  3. get Background from DigitalGlobe Standard Imagery

What is the expected result?

Show Background imagery

What happens instead?

unexpected exception window Pops up, see info below

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: 2017-05-02 23:28:33 +0200 (Tue, 02 May 2017)
Build-Date:2017-05-02 21:34:40
Revision:12039
Relative:URL: ^/trunk

Identification: JOSM/1.5 (12039 de) Windows 7 64-Bit
Memory Usage: 306 MB / 989 MB (161 MB allocated, but free)
Java version: 1.8.0_121-b13, Oracle Corporation, Java HotSpot(TM) Client VM
Screen: \Display0 1920x1200, \Display1 1920x1200
Maximum Screen Size: 1920x1200
Dataset consistency test: No problems found

Plugins:
+ imagery_offset_db (33309)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Fixme&zip=1
+ https://github.com/hotosm/HDM-JOSM-style/archive/master.zip

Last errors/warnings:
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- W: java.io.IOException: Attribution is not loaded yet
- E: Handled by bug report queue: java.lang.NoSuchMethodError: org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings.setOffsetBookmark(Lorg/openstreetmap/josm/data/imagery/OffsetBookmark;)V
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='DigitalGlobe Standard Imagery', countryCode='', url='http://{switch:a,b,c}.tiles.mapbox.com/v4/digitalglobe.0a8e44ba/{zoom}/{x}/{y}.png?access_token=pk.eyJ1IjoiZGlnaXRhbGdsb2JlIiwiYSI6ImNqMmFxcGJ2MjAwOHEzMm9nZmF2c3luZWkifQ.HsF19zOlj8PeOxo5BhNqyQ', imageryType=TMS}]


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (18) of main
java.lang.NoSuchMethodError: org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings.setOffsetBookmark(Lorg/openstreetmap/josm/data/imagery/OffsetBookmark;)V
	at iodb.ImageryOffsetWatcher.loadLayerOffset(ImageryOffsetWatcher.java:264)
	at iodb.ImageryOffsetWatcher.layerAdded(ImageryOffsetWatcher.java:206)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:458)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:233)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:251)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:217)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:138)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:217)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:206)
	at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:140)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Attachments (0)

Change History (12)

comment:1 Changed 2 years ago by PHerison

I have a simimlar problem loading bing-images as background:

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2017-05-02 23:28:33 +0200 (Tue, 02 May 2017)
Build-Date:2017-05-02 21:34:40
Revision:12039
Relative:URL: ^/trunk

Identification: JOSM/1.5 (12039 de) Windows 8.1 64-Bit
Memory Usage: 807 MB / 1797 MB (609 MB allocated, but free)
Java version: 1.8.0_131-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080, \Display1 1920x1080
Maximum Screen Size: 1920x1080
Dataset consistency test: No problems found

Plugins:
+ FastDraw (33182)
+ ImportImagePlugin (33028)
+ PicLayer (33148)
+ apache-commons (32994)
+ apache-http (32699)
+ buildings_tools (33004)
+ ejml (32680)
+ geotools (33042)
+ imagery_offset_db (33309)
+ jts (32699)
+ lakewalker (33161)
+ log4j (32699)
+ osmarender (33004)
+ turnrestrictions (33088)
+ undelete (33263)
+ utilsplugin2 (33297)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/TigerReviewedNo&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1

Last errors/warnings:
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- E: Handled by bug report queue: java.lang.NoSuchMethodError: org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings.setOffsetBookmark(Lorg/openstreetmap/josm/data/imagery/OffsetBookmark;)V
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]
- W: Cannot paint layer, it is not registered: TMSLayer [info=ImageryInfo{name='Bing Luftbild', countryCode='', url='http://www.bing.com/maps/', imageryType=BING}]


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (20) of main
java.lang.NoSuchMethodError: org.openstreetmap.josm.gui.layer.imagery.TileSourceDisplaySettings.setOffsetBookmark(Lorg/openstreetmap/josm/data/imagery/OffsetBookmark;)V
	at iodb.ImageryOffsetWatcher.loadLayerOffset(ImageryOffsetWatcher.java:264)
	at iodb.ImageryOffsetWatcher.layerAdded(ImageryOffsetWatcher.java:206)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:458)
	at org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:233)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:251)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:217)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:138)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:217)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:206)
	at org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:140)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$500(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

comment:2 Changed 2 years ago by Don-vip

Ticket #14808 has been marked as a duplicate of this ticket.

comment:3 Changed 2 years ago by Don-vip

Ticket #14803 has been marked as a duplicate of this ticket.

comment:4 Changed 2 years ago by Don-vip

Priority: normalmajor

comment:5 Changed 2 years ago by Zverikk

Resolution: fixed
Status: newclosed

Fixed. Alas, there is no simple way to update the plugin to get rid of the error: it will only work with the latest JOSM version. You can try downloading the older version of the plugin and putting it into you plugins directory.

To JOSM developers, PLEASE do not change API this much inside one version. You have marked relevant methods deprecated, and that is okay. You introduced replacements and disabled these after the last stable version, which made making a plugin that supports both impossible. That is absolutely not good.

comment:6 Changed 2 years ago by stoecker

Tell me the version requesting wrong JOSM core and I'll drop the old revision from our list.

comment:7 Changed 2 years ago by Zverikk

I have partially solved the issue: checked out the older version, so it would rewrite the one with a bug, and then returned the new one. I hope that would fix the incompatibility.

To anyone experiencing the exception in the ticket, please try removing imagery_offset_db plugin and installing it again. I am sorry for this mess.

comment:8 Changed 2 years ago by stoecker

Can't you simply tell me the wrong entry, so that I can fix the references to old version? That would be much easier that any strange workarounds. JOSM handles old versions correctly as long as the authors keep increasing the main version when necessary. When the fail to do so the wrong revision must be manually removed from the lists.

comment:9 Changed 2 years ago by Zverikk

Of course, it's [o33310]. Sorry.

comment:10 Changed 2 years ago by stoecker

Now that you did the checkins it is too late, but I removed 33310 from the plugin list.

comment:11 in reply to:  5 Changed 2 years ago by bastiK

Replying to Zverikk:

To JOSM developers, PLEASE do not change API this much inside one version. You have marked relevant methods deprecated, and that is okay. You introduced replacements and disabled these after the last stable version, which made making a plugin that supports both impossible. That is absolutely not good.

There is no need to have a plugin version that supports both. The system is designed, so users will get the appropriate version of the plugin based on the JOSM version.

The goal it to have functional plugins for all "tested" JOSM versions. For users of the nightly development version, plugins may be broken for a couple of days. It was never JOSM policy to have a stable plugin API and gentle migration. (Although we are generally more careful, when a change will affect many plugins.)

I would have fixed imagery_offset_db myself, but was glad you stepped in.

comment:12 Changed 2 years ago by jhohn <openstreetmap@…>

checked with actual testet and actual plugin Version. It is working again.
Thank you very much

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Zverikk.
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.