Modify

Opened 9 years ago

Closed 8 years ago

#11959 closed defect (fixed)

Mapillary plugin does not work with Java 7

Reported by: malenki Owned by: nokutu
Priority: major Milestone:
Component: Plugin mapillary Version:
Keywords: template_report java7 java8 Cc:

Description (last modified by malenki)

Tested with
blank ~/.josm
r8856
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-1~deb8u1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

<edit>
The error doesn't occur when I use
openjdk version "1.8.0_66-internal"
OpenJDK Runtime Environment (build 1.8.0_66-internal-b01)
OpenJDK 64-Bit Server VM (build 25.66-b01, mixed mode)
</edit>

What steps will reproduce the problem?

  1. Run JOSM with mapillary plugin.
  2. press "shift"+"," (or Imagery –> Mapillary)

What is the expected result?

Mapillary should load images.

What happens instead?

The error below.

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

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2015-10-11 13:31:06
Last Changed Author: Don-vip
Revision: 8856
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Relative URL: ^/trunk
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2015-10-11 15:28:33 +0200 (Sun, 11 Oct 2015)
Last Changed Rev: 8856

Identification: JOSM/1.5 (8856 de) Linux LMDE 2 Betsy
Memory Usage: 710 MB / 2222 MB (287 MB allocated, but free)
Java version: 1.7.0_79, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: openjdk-7-jre:amd64-7u79-2.5.6-1~deb8u1
VM arguments: [-Dsun.java2d.opengl=false]
Dataset consistency test: No problems found

Plugins:
- Mapillary (31603)
- commons-imaging (31603)

Last errors/warnings:
- E: java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;

java.lang.NoSuchMethodError: java.util.concurrent.ConcurrentHashMap.keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillarySquareDownloadManagerThread.buildQueryString(MapillarySquareDownloadManagerThread.java:64)
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillarySquareDownloadManagerThread.<init>(MapillarySquareDownloadManagerThread.java:52)
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillaryDownloader.getImages(MapillaryDownloader.java:69)
	at org.openstreetmap.josm.plugins.mapillary.io.download.MapillaryDownloader.automaticDownload(MapillaryDownloader.java:158)
	at org.openstreetmap.josm.plugins.mapillary.MapillaryLayer.init(MapillaryLayer.java:121)
	at org.openstreetmap.josm.plugins.mapillary.MapillaryLayer.<init>(MapillaryLayer.java:104)
	at org.openstreetmap.josm.plugins.mapillary.MapillaryLayer.getInstance(MapillaryLayer.java:173)
	at org.openstreetmap.josm.plugins.mapillary.actions.MapillaryDownloadAction.actionPerformed(MapillaryDownloadAction.java:42)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1662)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2870)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:263)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2962)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2954)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2833)
	at java.awt.Component.processEvent(Component.java:6293)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4872)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1887)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:762)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1027)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:899)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:727)
	at java.awt.Component.dispatchEventImpl(Component.java:4742)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Window.dispatchEventImpl(Window.java:2719)
	at java.awt.Component.dispatchEvent(Component.java:4698)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:747)
	at java.awt.EventQueue.access$300(EventQueue.java:103)
	at java.awt.EventQueue$3.run(EventQueue.java:706)
	at java.awt.EventQueue$3.run(EventQueue.java:704)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.awt.EventQueue$4.run(EventQueue.java:718)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:717)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

Attachments (0)

Change History (12)

comment:1 by malenki, 9 years ago

Description: modified (diff)

comment:2 by nokutu, 9 years ago

That's weird, I don't manage to get the error. I'll try changing the method from ConcurrentHashMap.keySet() to ConcurrentHashMap.keys(), maybe it works properly then.

comment:3 by Don-vip, 9 years ago

The plugin has been compiled with a JDK8:

Mapillary.jar;http://svn.openstreetmap.org/applications/editors/josm/dist/Mapillary.jar
	Manifest-Version: 1.0
	Ant-Version: Apache Ant 1.9.6
	Created-By: 1.8.0_60-b24 (Oracle Corporation)

Please always compile with a JDK7! Majority of Linux users are still using this version.

comment:4 by Don-vip, 9 years ago

Keywords: java7 java8 added
Summary: segfault when calling mapillary functionMapillary plugin does not work with Java 7

comment:5 by nokutu, 9 years ago

I've pushed a new version, I should be working now.

comment:6 by nokutu, 9 years ago

Resolution: fixed
Status: newclosed

in reply to:  5 comment:7 by malenki, 9 years ago

Replying to nokutu:

I've pushed a new version, I should be working now.

Confirmed.
Thanks for the quick fix.

comment:8 by Don-vip, 9 years ago

Resolution: fixed
Status: closedreopened

The plugin doesn't compile anymore, the jenkins job is now broken:
https://josm.openstreetmap.de/jenkins/job/JOSM-Plugins/280/
https://josm.openstreetmap.de/jenkins/job/JOSM-Plugins/280/console

    [javac] /var/lib/jenkins/jobs/JOSM-Plugins/workspace/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/CacheUtils.java:84: error: unreported exception IOException; must be caught or declared to be thrown
    [javac]     new MapillaryCache(key, type).submit(lis, false);
    [javac]                                         ^
    [javac] 1 error

By the way you have 26 deprecation warnings in apache commons codec, are you using the latest version?

comment:9 by Don-vip, 9 years ago

I have reverted the changeset to fix the build, I need it.

Are you using Apache Commons Codec at all? I can't find any reference to it in the plugin.

comment:10 by nokutu, 9 years ago

I'm not using it. I don't even remember why it is there. I'll remove it then.

comment:11 by Don-vip, 9 years ago

ok thanks :)

comment:12 by Don-vip, 8 years ago

Resolution: fixed
Status: reopenedclosed

I have removed the svn:externals.

Modify Ticket

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