FS#45550 - [java-openjfx] UnsatisfiedLinkError when using WebKit

Attached to Project: Arch Linux
Opened by Johannes Mockenhaupt (jotomo) - Saturday, 04 July 2015, 18:06 GMT
Last edited by Doug Newgard (Scimmia) - Wednesday, 21 October 2015, 21:12 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Guillaume ALAUX (galaux)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Running the Modena JavaFX demo application (from here: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) fails:

mal:~/inbox/jdk1.8.0_45_demos/demo/javafx_samples$ java -version
openjdk version "1.8.0_45"
OpenJDK Runtime Environment (build 1.8.0_45-b14)
OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)

mal:~/inbox/jdk1.8.0_45_demos/demo/javafx_samples$ java -jar Modena.jar
modenaCssFile = rt/modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css
modenaCssFile = /home/joe/inbox/jdk1.8.0_45_demos/demo/javafx_samples/rt/modules/controls/src/main/resources/com/sun/javafx/scene/control/skin/modena/modena.css
MODENA_EMBEDDED_STYLESHEET_URL = jar:file:/usr/lib/jvm/java-8-openjdk/jre/lib/ext/jfxrt.jar!/com/sun/javafx/scene/control/skin/modena/modena-embedded-performance.css
baseColor = null
accentColor = null
backgroundColor = null
Jul 04, 2015 8:00:34 PM javafx.scene.control.Control loadSkinClass
SEVERE: Failed to load skin 'com.sun.javafx.scene.web.skin.HTMLEditorSkin' for control SamplePage$1@2aa47ca
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libjfxwebkit.so: /usr/lib/jvm/java-8-openjdk/jre/lib/amd64/libjfxwebkit.so: undefined symbol: _ZN3JSC8JSObject45putByIndexBeyondVectorLengthWithoutAttributesILh20EEEvPNS_9ExecStateEjNS_7JSValueE
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1937)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1822)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:201)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:94)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:39)
at com.sun.webkit.WebPage.lambda$static$39(WebPage.java:127)
at com.sun.webkit.WebPage$$Lambda$164/314092786.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.webkit.WebPage.<clinit>(WebPage.java:126)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:824)
at javafx.scene.web.WebEngine.<init>(WebEngine.java:811)
at javafx.scene.web.WebView.<init>(WebView.java:271)
at com.sun.javafx.scene.web.skin.HTMLEditorSkin.<init>(HTMLEditorSkin.java:272)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at javafx.scene.control.Control.loadSkinClass(Control.java:722)
at javafx.scene.control.Control$4.invalidated(Control.java:659)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:109)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144)
at javafx.css.StyleableStringProperty.set(StyleableStringProperty.java:83)
at javafx.scene.control.Control$4.set(Control.java:651)
at javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:69)
at javafx.css.StyleableStringProperty.applyStyle(StyleableStringProperty.java:45)
at javafx.scene.web.HTMLEditor.<init>(HTMLEditor.java:54)
at modena.SamplePage$1.<init>(SamplePage.java:464)
at modena.SamplePage.<init>(SamplePage.java:462)
at modena.SamplePageNavigation.<init>(SamplePageNavigation.java:49)
at modena.Modena.rebuildUI(Modena.java:308)
at modena.Modena.start(Modena.java:209)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(LauncherImpl.java:863)
at com.sun.javafx.application.LauncherImpl$$Lambda$60/319406418.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl$$Lambda$51/242481580.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl$$Lambda$53/1801748647.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl$$Lambda$52/2065530879.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
at com.sun.glass.ui.gtk.GtkApplication$$Lambda$41/1908153060.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)

Exception in Application start method
Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
at modena.Modena.lambda$updateUserAgentStyleSheet$3(Modena.java:294)
at modena.Modena$$Lambda$115/1713146782.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl$$Lambda$53/1801748647.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl$$Lambda$52/2065530879.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
at com.sun.glass.ui.gtk.GtkApplication$$Lambda$41/1908153060.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182)
at com.sun.javafx.application.LauncherImpl$$Lambda$55/476800120.run(Unknown Source)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at javafx.scene.web.HTMLEditor.setHtmlText(HTMLEditor.java:86)
at modena.SamplePage$1.<init>(SamplePage.java:465)
at modena.SamplePage.<init>(SamplePage.java:462)
at modena.SamplePageNavigation.<init>(SamplePageNavigation.java:49)
at modena.Modena.rebuildUI(Modena.java:308)
at modena.Modena.start(Modena.java:209)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(LauncherImpl.java:863)
at com.sun.javafx.application.LauncherImpl$$Lambda$60/319406418.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl$$Lambda$51/242481580.run(Unknown Source)
at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
at com.sun.javafx.application.PlatformImpl$$Lambda$53/1801748647.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
at com.sun.javafx.application.PlatformImpl$$Lambda$52/2065530879.run(Unknown Source)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
at com.sun.glass.ui.gtk.GtkApplication$$Lambda$41/1908153060.run(Unknown Source)
... 1 more
Exception running application modena.Modena

I have openjdk8 & openjfx8 installed, webkitgtk2 as well.
I rebuild the openjfx package (libjfxwebkit.so is part of that package) but that didn't help.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Wednesday, 21 October 2015, 21:12 GMT
Reason for closing:  Fixed
Additional comments about closing:  java-openjfx 8.u65-1
Comment by Guillaume ALAUX (galaux) - Sunday, 05 July 2015, 15:53 GMT
It seems you have hit something similar to [0] – with a hint on how to fix it here [1].

[edit]
BTW, I can't reproduce this.
[/edit]

[0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65292
[1] https://bugreports.qt.io/browse/QTBUG-44829
Comment by Johannes Mockenhaupt (jotomo) - Sunday, 05 July 2015, 16:32 GMT
Thanks Guillaume, applying the patch you reference fixes this for me.
So it's not a problem with the Arch package/build, but a problem in Webkit. Bugzilla says there's no report on it in Webkit yet. Prudent thing to do is to open a bug there and include your links, no? (I'm not sure I'm understanding all the connections; QT and OpenJFX include Webkit sources and QT is patching it?)
Comment by Johannes Mockenhaupt (jotomo) - Friday, 24 July 2015, 16:15 GMT
PKGBUILD with the referenced patch applied and updated to 8u51 (to go along with jdk8-openjdk update) as a temporary workaround:
https://github.com/jotomo/pkgbuilds/tree/master/java-openjfx

Loading...