Opened 5 years ago
Last modified 5 years ago
#19044 assigned defect
JavaFX calls unknown class
Reported by: | taylor.smock | Owned by: | Don-vip |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin javafx | Version: | tested |
Keywords: | template_report, javafx, mapillary, openwebstart, java11 | Cc: | Zian, thomersch |
Description (last modified by )
What steps will reproduce the problem?
- Install a Mapillary plugin
snapshot (I used the version from https://gitlab.com/gokaart/josm-mapillary-plugin/-/jobs/500339283 -- download job artifacts, open zip, go tobuild/dist
and copy the jar file to the JOSM plugins directory) - Install the appropriate javafx plugin (crashes on Windows and Mac, Linux not yet tested)
- Restart, if necessary. I've only been able to reproduce using OpenWebStart (I haven't tested IcedTea yet). Calling the
.jar
file from the CLI withjava -jar
works (java -version
indicates AdoptOpenJDK 11.0.6, in this case). - Download an area
- If not already shown, show the Mapillary Filter toggle dialog (it uses JavaFX for date pickers)
What is the expected result?
No crash. :)
What happens instead?
Crash. :(
Please provide any additional information below. Attach a screenshot if possible.
Occurs with 11.0.6 Zulu Community Edition and 11.0.6 AdoptOpenJDK.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2020-04-06 02:17:07 +0200 (Mon, 06 Apr 2020) Revision:16239 Build-Date:2020-04-06 00:18:43 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (16239 en) Windows 10 64-Bit OS Build number: Windows 10 Home 1803 (17134) Memory Usage: 551 MB / 2048 MB (322 MB allocated, but free) Java version: 11.0.6+10-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Screen: \Display0 3840x2160, \Display1 3840x2160 Maximum Screen Size: 3840x2160 VM arguments: [-Djava.util.Arrays.useLegacyMergeSort=true, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,jdk.jsobject, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop] Dataset consistency test: No problems found Plugins: + Mapillary (1.5.20-83-g53ef3bd) + apache-commons (35362) + apache-http (35092) + javafx-windows (35375) + jna (35092) Last errors/warnings: - E: Region [TMS_BLOCK_v2] Failure getting from disk, key = OpenStreetMap Carto (Standard):https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png/15/6501/12515 - E: Region [TMS_BLOCK_v2] Failure getting from disk, key = OpenStreetMap Carto (Standard):https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png/15/6504/12516 - E: Region [TMS_BLOCK_v2] Failure getting from disk, key = OpenStreetMap Carto (Standard):https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png/15/6503/12515 - E: Region [TMS_BLOCK_v2] Failure getting from disk, key = OpenStreetMap Carto (Standard):https://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png/15/6501/12514 - E: Handled by bug report queue: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils. Cause: java.lang.ClassNotFoundException: jdk.swing.interop.SwingInterOpUtils - E: Handled by bug report queue: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils - E: Handled by bug report queue: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils - E: Handled by bug report queue: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils - E: Handled by bug report queue: java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils - W: Warning - <html>JOSM could not find information about the following plugins:<ul><li>apache-commons</li><li>Mapillary</li><li>javafx-windows</li><li>jna</li><li>apache-http</li></ul>The plugins are not going to be loaded.</html> === REPORTED CRASH DATA === BugReportExceptionHandler#handleException: No data collected. Warning issued by: BugReportExceptionHandler#handleException === STACK TRACE === Thread: JavaFX Application Thread (144) of JOSM java.lang.NoClassDefFoundError: jdk/swing/interop/SwingInterOpUtils at com.sun.javafx.embed.swing.newimpl.JFXPanelInteropN.postEvent(JFXPanelInteropN.java:36) at javafx.embed.swing.JFXPanel.invokeOnClientEDT(JFXPanel.java:930) at javafx.embed.swing.JFXPanel$HostContainer.setEmbeddedScene(JFXPanel.java:972) at com.sun.javafx.tk.quantum.EmbeddedScene.setStage(EmbeddedScene.java:122) at com.sun.javafx.tk.quantum.GlassStage.setScene(GlassStage.java:94) at com.sun.javafx.tk.quantum.EmbeddedStage.setScene(EmbeddedStage.java:62) at javafx.stage.Window$12.invalidated(Window.java:1085) at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:110) at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:145) at javafx.stage.Window.setShowing(Window.java:1174) at javafx.stage.Window.show(Window.java:1189) at com.sun.javafx.stage.EmbeddedWindow.show(EmbeddedWindow.java:71) at javafx.embed.swing.JFXPanel.setSceneImpl(JFXPanel.java:326) at javafx.embed.swing.JFXPanel.setScene(JFXPanel.java:296) at org.openstreetmap.josm.plugins.javafx.gui.JavaFxWrapper.initFX(JavaFxWrapper.java:71) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428) at java.base/java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.ClassNotFoundException: jdk.swing.interop.SwingInterOpUtils at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) at org.openstreetmap.josm.plugins.PluginClassLoader.loadClass(PluginClassLoader.java:73) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ... 22 more
See #17858
Attachments (0)
Change History (12)
comment:1 by , 5 years ago
Description: | modified (diff) |
---|
comment:2 by , 5 years ago
Status: | new → assigned |
---|
comment:3 by , 5 years ago
Description: | modified (diff) |
---|
comment:4 by , 5 years ago
comment:6 by , 5 years ago
Problem with the automatic installation:
When updating to the lastest JOSM, it complained about the missing javafx for mapillary, and I chose "download and restart". However it did not download the plugin, nothing in the log, and after the automatic restart the problem remained. No loading of this plugin during restart.
I went to plugins were java-fx was still unticked, so I added it manually, which succeeded, the log said: "The following plugin has been downloaded <strong>successfully ... javafx-osx (35375)", now restarting: "INFO: loading plugin 'javafx-osx' (version 35375)". First test, mapillary seems to work.
Identification: JOSM/1.5 (16392 en) Mac OS X 10.11.6
OS Build number: Mac OS X 10.11.6 (15G22010)
Memory Usage: 1196 MB / 3641 MB (730 MB allocated, but free)
Java version: 1.8.0_231-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
comment:7 by , 5 years ago
@Polarbear-j: I should probably look into adding some kind of dialog for "virtual" plugins (i.e., if only one plugin matches, then offer to install that plugin. Otherwise, have a drop-down dialog to select a plugin.)
I don't know how much work that is going to be, and it would be in JOSM core (so earliest stable would be the June release, assuming I get the time to work on it).
Also, you should have opened a new bug for that, instead of posting in a (largely) unrelated bug.
comment:9 by , 5 years ago
Well, I think I found the root cause:
https://github.com/openjdk/jfx/blob/jfx14/doc-files/release-notes-11.md#swing-interop-fails-when-run-with-a-security-manager-with-standalone-sdk
There might be a workaround somewhere, but I haven't found one that works on my system.
FAQ from OpenWebStart on OpenJFX:
https://github.com/karakun/OpenWebStart/blob/master/documentation/faq/FAQ.adoc#how-to-run-openjfx-based-javafx-applications-with-openwebstart
comment:12 by , 5 years ago
Cc: | added |
---|
Ticket #19166 has been marked as a duplicate of this ticket.