Modify

Opened 14 months ago

Closed 4 months ago

Last modified 2 days ago

#14097 closed defect (othersoftware)

Download from Overpass API doesn't work with openjdk / icedtea-web

Reported by: tyr_asd Owned by: team
Priority: normal Milestone:
Component: Core Version: tested
Keywords: template_report icedtea javabug linux Cc: sebastic

Description

What steps will reproduce the problem?

  1. start josm on ubuntu with openjdk (I've version "1.8.0_111", comes with ubuntu 16.10) installed
  2. open the Download from Overpass API dialog
  3. try to build a query from the "wizard" input box (e.g. foot=yes)

What is the expected result?

The input gets transformed into a working overpass query.

What happens instead?

Crashes (see 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: 2016-11-06 20:18:38 +0100 (Sun, 06 Nov 2016)
Build-Date:2016-11-06 21:45:03
Revision:11223
Relative:URL: ^/trunk

Identification: JOSM/1.5 (11223 en) Linux Ubuntu 16.10
Memory Usage: 245 MB / 4434 MB (84 MB allocated, but free)
Java version: 1.8.0_111-8u111-b14-2ubuntu0.16.10.2-b14, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: openjdk-8-jre:amd64-8u111-b14-2ubuntu0.16.10.2
WebStart package: icedtea-netx:amd64-1.6.2-3ubuntu1
VM arguments: [-Dicedtea-web.bin.name=javaws, -Dicedtea-web.bin.location=/usr/bin/javaws, -Djava.security.manager, -Djava.security.policy=/etc/icedtea-web/javaws.policy]

Last errors/warnings:
- W: Unable to initialize OpeningHourTest because no JavaScript engine has been found
- W: Unable to initialize OpeningHourTest because no JavaScript engine has been found
- E: Handled by bug report queue: java.lang.IllegalStateException: Failed to retrieve JavaScript engine


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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-1 (21) of JOSM
java.lang.IllegalStateException: Failed to retrieve JavaScript engine
	at org.openstreetmap.josm.tools.OverpassTurboQueryWizard.<init>(OverpassTurboQueryWizard.java:41)
	at org.openstreetmap.josm.tools.OverpassTurboQueryWizard.getInstance(OverpassTurboQueryWizard.java:34)
	at org.openstreetmap.josm.actions.OverpassDownloadAction$OverpassDownloadDialog$1.actionPerformed(OverpassDownloadAction.java:163)
	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.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	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.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at org.openstreetmap.josm.gui.download.DownloadDialog.setVisible(DownloadDialog.java:450)
	at org.openstreetmap.josm.actions.OverpassDownloadAction.actionPerformed(OverpassDownloadAction.java:78)
	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 (10)

comment:1 Changed 14 months ago by Don-vip

Keywords: icedtea added
Summary: Download from Overpass API doesn't work with openjdkDownload from Overpass API doesn't work with openjdk / icedtea-web

comment:2 Changed 14 months ago by Don-vip

Keywords: javabug added

comment:3 Changed 13 months ago by anonymous

This was fixed for ICed-tea-web 1.7

One important nit, as it is implemented now, it is not going to work in JDK9
FOllowing patch will be needed to JOSM:

  • private static final ScriptEngine engine1 = new ScriptEngineManager().getEngineByName("JavaScript");

+ private static final ScriptEngine engine3 = new ScriptEngineManager(null).getEngineByName("JavaScript");

(see the null in constructor) The thread context classlaoder is now restricted in jdk9.

comment:4 Changed 4 months ago by Don-vip

Keywords: linux added
Resolution: othersoftware
Status: newclosed

comment:5 Changed 2 weeks ago by Don-vip

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

comment:6 Changed 2 weeks ago by Don-vip

In 13268/josm:

see #11924, see #14097 - ensure JavaScript engine will always be found with java 9

comment:7 Changed 2 weeks ago by Don-vip

Cc: sebastic added

@sebastic: icedtea-web 1.7 has been released 6 months ago but the Debian package is not updated yet, what is the best way to ask for an update?

Last edited 2 weeks ago by Don-vip (previous) (diff)

comment:8 in reply to:  7 ; Changed 2 weeks ago by sebastic

Replying to Don-vip:

@sebastic: icedtea-web 1.7 has been released 6 months ago but the Debian package is not updated yet, what is the best way to ask for an update?

Report a bug against the icedtea-web source package to request an update to the latest upstream release. Seeing that the last upload was a non-maintainer upload and no activity in the VCS, the package doesn't look actively maintained, so contributing to the package maintenance via the OpenJDK team will get you the newer upstream release sooner.

comment:9 in reply to:  8 Changed 2 weeks ago by Don-vip

Replying to sebastic:

Report a bug against the icedtea-web source package to request an update to the latest upstream release.

Thanks! Done: bug #886109.

contributing to the package maintenance via the OpenJDK team will get you the newer upstream release sooner.

Last time I tried to package something for Debian, I found it very difficult and wasn't ready to spend enough time to understand all the concepts, so I gave up. I hope someone more qualified will be available to package the new version.

comment:10 Changed 2 days ago by Don-vip

In 13331/josm:

see #14097, see #15783 - robustness to situations where JavaScript engine cannot be retrieved, for whatever reason

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.