Modify

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#16292 closed defect (fixed)

MapillaryCache constructor must be adapted for new JCSCachedTileLoaderJob constructor in JOSM >= 13733

Reported by: hjart Owned by: floscher
Priority: major Milestone:
Component: Plugin mapillary Version: latest
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. click a downloaded Mapillary image trying to see it

What is the expected result?

What happens instead?

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2018-05-15 02:42:22 +0200 (Tue, 15 May 2018)
Build-Date:2018-05-15 01:32:54
Revision:13769
Relative:URL: ^/trunk

Identification: JOSM/1.5 (13769 da) Linux openSUSE Leap 42.2
Memory Usage: 1427 MB / 1427 MB (241 MB allocated, but free)
Java version: 1.8.0_151-b12, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1200
Maximum Screen Size: 1920x1200
Java package: java-1_8_0-openjdk:x86_64-1.8.0.151
Dataset consistency test: No problems found

Plugins:
+ DirectUpload (34109)
+ ImproveOsm (133)
+ InfoMode (34038)
+ Mapillary (v1.5.12+post13643)
+ OpenStreetCam (145)
+ OpeningHoursEditor (34095)
+ QuickLabel (1524508484)
+ SimplifyArea (34109)
+ apache-commons (34109)
+ apache-http (34109)
+ buildings_tools (34109)
+ changeset-viewer (15)
+ ejml (34126)
+ fieldpapers (v0.4.3)
+ geotools (34125)
+ gpxfilter (34038)
+ jts (34038)
+ measurement (34109)
+ photo_geotagging (34109)
+ photoadjust (34109)
+ rasterfilters (34109)
+ reverter (34109)
+ splinex (34109)
+ tageditor (34109)
+ tagging-preset-tester (34109)
+ todo (30304)
+ undelete (34109)
+ utilsplugin2 (34109)
+ wikipedia (34162)

Tagging presets:
+ ${HOME}/Dokumenter/DanishChainsPresets.xml
+ ${HOME}/Dokumenter/HjartsPresets.xml
+ https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-highways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/SentieriItaliani&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Historical_Objects&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/NewTags&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/DK.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/LaneAttributes&zip=1

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: Cannot start IPv4 remotecontrol https server on port 8112: Keystore was tampered with, or password was incorrect
- W: Cannot start IPv6 remotecontrol https server on port 8112: Keystore was tampered with, or password was incorrect
- E: org.openstreetmap.josm.io.OsmApiException: ResponseCode=400, Error Header=<You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm>
- E: Dårlig forespørgsel - <html>OSM serveren 'api.openstreetmap.org' rapporetede en dårlig forespøgsel.<br><br>Det område du prøvede at downloade er for stort eller din anmodning var for stor.<br>Anmod enten om et mindre område eller brug en eksport-fil givet af OSM-fællesskabet.</html>
- W: java.net.SocketException: Socket closed
- E: java.net.SocketException: Socket closed
- W: org.openstreetmap.josm.io.OsmTransferCanceledException: Operation canceled. Årsag: org.openstreetmap.josm.io.OsmTransferException: Kunne ikke forbinde til osm serveren. Tjek din internetforbindelse.. Årsag: java.net.SocketException: Socket closed
- E: Handled by bug report queue: java.lang.NoSuchMethodError: org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.<init>(Lorg/apache/commons/jcs/access/behavior/ICacheAccess;IILjava/util/Map;)V


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
java.lang.NoSuchMethodError: org.openstreetmap.josm.data.cache.JCSCachedTileLoaderJob.<init>(Lorg/apache/commons/jcs/access/behavior/ICacheAccess;IILjava/util/Map;)V
	at org.openstreetmap.josm.plugins.mapillary.cache.MapillaryCache.<init>(MapillaryCache.java:44)
	at org.openstreetmap.josm.plugins.mapillary.gui.MapillaryMainDialog.updateImage(MapillaryMainDialog.java:253)
	at org.openstreetmap.josm.plugins.mapillary.mode.SelectMode.mouseMoved(SelectMode.java:177)
	at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:330)
	at java.awt.Component.processMouseMotionEvent(Component.java:6578)
	at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3333)
	at java.awt.Component.processEvent(Component.java:6302)
	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:4538)
	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:80)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
	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:80)
	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 (9)

comment:1 by floscher, 6 years ago

This is caused by a breaking change in r13733, so only JOSM versions starting at 13733 are affected. And as soon as I'll fix it, all previous JOSM versions (including current tested) will- stop working can't receive the new plugin version (edit: adjusted wording).

So I guess it is time for another release in two parts (one for versions < 13733, one for versions >= 13733).

Last edited 6 years ago by floscher (previous) (diff)

comment:2 by floscher, 6 years ago

Priority: blockermajor
Summary: Mapillary NoSuchMethodErrorMapillaryCache constructor must be adapted for new JCSCachedTileLoaderJob constructor in JOSM >= 13733

A fix for this is already applied in https://github.com/JOSM/Mapillary/pull/78 , but not yet released.

in reply to:  1 comment:3 by Don-vip, 6 years ago

Replying to floscher:

as soon as I'll fix it, all previous JOSM versions (including current tested) will stop working.

No. Why do you think that?

comment:4 by Don-vip, 6 years ago

You don't need to handle several versions of your plugins, simply update the Main-Version and JOSM takes care of everything.

comment:5 by Don-vip, 6 years ago

And the old Plugin-URL of course. See https://github.com/JOSM/conflation/commit/5869289253cad88277d7a3f8a4e0f46711b40eb9 for an example. This is the price to pay to be hosted outside of OSM SVN.

comment:6 by floscher, 6 years ago

My comment wasn't so much directed against core-developers, it's understandable that you can't be considerate of all plugins when making such changes. My message probably came across harsher than I meant it to be, that wording with "stop working" was really misleading.

What I meant was, that if I fix this, the new plugin version is not compatible with earlier JOSM versions. So the current tested JOSM version could only receive an update when a second plugin version is released.
I normally avoid raising the main-version above the current tested release.

Thinking about it again, I'll probably go with your suggestion and only release one version, because the other changes since the last release are minimal.

Yes, I'm aware of the manifest attribute for old Plugin-URLs, I'll add that for compatibility with older JOSM versions (like in https://github.com/JOSM/Mapillary/commit/a5d3d42f0612743712431d42ff07af53c05b11f8 )

in reply to:  6 ; comment:7 by Don-vip, 6 years ago

Replying to floscher:

My comment wasn't so much directed against core-developers,

No harm taken, I was just pointing that the workload associated to maintaining two versions in parallel is unneeded.

I normally avoid raising the main-version above the current tested release.

I understand, but the users of tested version have a functional version. Leaving "latest" users with a non-functional version for two, three or even four weeks is not advised and this will create frustration. It's better to release a new version asap and tell "tested" users to either wait for the new release or use "latest" if they really need it. That's how JOSM works and everyone is used to it :)

comment:8 by floscher, 6 years ago

Resolution: fixed
Status: newclosed

This is fixed, since the latest version v1.5.13 is now released and available through the plugin update mechanism of JOSM.

in reply to:  7 comment:9 by stoecker, 6 years ago

Replying to Don-vip:

It's better to release a new version asap and tell "tested" users to either wait for the new release or use "latest" if they really need it. That's how JOSM works and everyone is used to it :)

And it is designed this way because of my lazyness and the "workload associated to maintaining two versions in parallel" 😊

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain floscher.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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