JFX Media crashes on RHEL 7.3 on attempt to load libglib-lite.so
This is likely a regression of JDK-8199527.
To reproduce try to play any media content in WebView.
A snippet from the crash dump (attached)
Current thread (0x00007f15b51e3000): JavaThread "JavaFX Application Thread" [_thread_in_native, id=8827, stack(0x00007f14ff6b0000,0x00007f14ff7b1000)]
siginfo: si_signo: 11 (SIGSEGV), si_code: 1 (SEGV_MAPERR), si_addr: 0x00000000ffffffff
Registers:
RAX=0x00007f1618b6a840, RBX=0x000000000000001b, RCX=0x00007f14f0225410, RDX=0x00007ffde5e11be8
RSP=0x00007f14ff7ab2a8, RBP=0x00007ffde5e11b08, RSI=0x00007ffde5e11b08, RDI=0x000000000000001b
R8 =0x0000000000000001, R9 =0x0000000000004000, R10=0x00007f14ff7ab030, R11=0x00007f161887a8b0
R12=0x00007ffde5e11be8, R13=0x00007f148f8d1378, R14=0x0000000000000002, R15=0x00007f148f8d1370
RIP=0x00000000ffffffff, EFLAGS=0x0000000000010202, CSGSFS=0x0000000000000033, ERR=0x0000000000000014
TRAPNO=0x000000000000000e
Top of Stack: (sp=0x00007f14ff7ab2a8)
0x00007f14ff7ab2a8: 00007f148f5c218c 00007f148f648a80
0x00007f14ff7ab2b8: 0000000000000008 00007f148f64aedf
0x00007f14ff7ab2c8: 0000000000000020 00007f148f6430dd
0x00007f14ff7ab2d8: 0000000000000040 00007f148f648a6e
0x00007f14ff7ab2e8: 0000000000000080 000000000000001b
0x00007f14ff7ab2f8: 00007ffde5e11b08 000000000000001b
0x00007f14ff7ab308: 00007f16b3c41553 00007f14f02231a0
0x00007f14ff7ab318: 000000000000000a 0000000000000000
0x00007f14ff7ab328: 000000000000000a 00007f14ff7ab420
0x00007f14ff7ab338: 000000000000000a 0000000000000001
0x00007f14ff7ab348: 000000000000000a 00007f14f02231a0
0x00007f14ff7ab358: 00007f16b3c45c66 00007f14f02231a0
0x00007f14ff7ab368: 00007f14f0223680 00007f14f0223b90
0x00007f14ff7ab378: 00007f14f02246a0 00007f14ff7ab420
0x00007f14ff7ab388: 00007f16b3c45aa9 00007f14ff7ab3b0
0x00007f14ff7ab398: 00007f14ff7ab450 00007f1400000001
0x00007f14ff7ab3a8: 0000000000000050 00007f14ff7ab360
0x00007f14ff7ab3b8: 00007f14ff7ab390 0000000000000003
0x00007f14ff7ab3c8: 000000000000000a 00007f16b3e54120
0x00007f14ff7ab3d8: 000000000000000b 8000000100000001
0x00007f14ff7ab3e8: 00007f14ff7ab588 00007f16b3138250
0x00007f14ff7ab3f8: 00007f14ff7b06f8 0000000080000001
0x00007f14ff7ab408: 00007f14f0222920 00007ffde5e11b08
0x00007f14ff7ab418: 000000000000001b 00007f14ff7ab600
0x00007f14ff7ab428: 00007f16b3c41364 00007f14ff7b06f8
0x00007f14ff7ab438: 00007f14ff7ab578 00007f14ff7ab580
0x00007f14ff7ab448: 00007f14ff7ab570 00007f16b3c458b0
0x00007f14ff7ab458: 00007f14ff7ab588 00000000ff7ab480
0x00007f14ff7ab468: 00007f14ff7ab680 0000000000000000
0x00007f14ff7ab478: 0000000000000000 00007f167472f3d8
0x00007f14ff7ab488: fffffffffffffffe a10ea7a5be2cb2ce
0x00007f14ff7ab498: 0000000080000001 00007f14f0222920
Instructions: (pc=0x00000000ffffffff)
0x00000000ffffffdf:
[error occurred during error reporting (printing registers, top of stack, instructions near pc), id 0xb]
Register to memory mapping:
RAX=0x00007f1618b6a840: <offset 0x335840> in /lib64/libglib-2.0.so.0 at 0x00007f1618835000
RBX=0x000000000000001b is an unknown value
RCX=0x00007f14f0225410 is an unknown value
RDX=0x00007ffde5e11be8 is an unknown value
RSP=0x00007f14ff7ab2a8 is pointing into the stack for thread: 0x00007f15b51e3000
RBP=0x00007ffde5e11b08 is an unknown value
RSI=0x00007ffde5e11b08 is an unknown value
RDI=0x000000000000001b is an unknown value
R8 =0x0000000000000001 is an unknown value
R9 =0x0000000000004000 is an unknown value
R10=0x00007f14ff7ab030 is pointing into the stack for thread: 0x00007f15b51e3000
R11=0x00007f161887a8b0: glib__private__+0 in /lib64/libglib-2.0.so.0 at 0x00007f1618835000
R12=0x00007ffde5e11be8 is an unknown value
R13=0x00007f148f8d1378: <offset 0x342378> in /export/apps/xtools/LNKD-intellij-2019.1/jre64/jre/lib/amd64/libglib-lite.so at 0x00007f148f58f000
R14=0x0000000000000002 is an unknown value
R15=0x00007f148f8d1370: <offset 0x342370> in /export/apps/xtools/LNKD-intellij-2019.1/jre64/jre/lib/amd64/libglib-lite.so at 0x00007f148f58f000
Stack: [0x00007f14ff6b0000,0x00007f14ff7b1000], sp=0x00007f14ff7ab2a8, free space=1004k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C 0x00000000ffffffff
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j java.lang.ClassLoader$NativeLibrary.load(Ljava/lang/String;Z)V+0
j java.lang.ClassLoader.loadLibrary0(Ljava/lang/Class;Ljava/io/File;)Z+328
j java.lang.ClassLoader.loadLibrary(Ljava/lang/Class;Ljava/lang/String;Z)V+48
j java.lang.Runtime.load0(Ljava/lang/Class;Ljava/lang/String;)V+57
j java.lang.System.load(Ljava/lang/String;)V+7
j com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(Ljava/lang/String;)V+342
j com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(Ljava/lang/String;)V+1
j com.sun.glass.utils.NativeLibLoader.loadLibrary(Ljava/lang/String;)V+11
j com.sun.media.jfxmediaimpl.NativeMediaManager.lambda$new$33()Ljava/lang/Object;+36
j com.sun.media.jfxmediaimpl.NativeMediaManager$$Lambda$3272.run()Ljava/lang/Object;+0
v ~StubRoutines::call_stub
J 5545 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; (0 bytes) @ 0x00007f169db7508f [0x00007f169db75040+0x4f]
j com.sun.media.jfxmediaimpl.NativeMediaManager.<init>()V+42
j com.sun.media.jfxmediaimpl.NativeMediaManager$NativeMediaManagerInitializer.<clinit>()V+4
v ~StubRoutines::call_stub
j com.sun.media.jfxmediaimpl.NativeMediaManager.getDefaultInstance()Lcom/sun/media/jfxmediaimpl/NativeMediaManager;+0
j com.sun.media.jfxmedia.MediaManager.getSupportedContentTypes()[Ljava/lang/String;+0
j com.sun.javafx.webkit.prism.PrismGraphicsManager.getSupportedMediaTypes()[Ljava/lang/String;+0
v ~StubRoutines::call_stub
j com.sun.webkit.network.URLLoader.twkDidFinishLoading(J)V+0
j com.sun.webkit.network.URLLoader.notifyDidFinishLoading()V+44
j com.sun.webkit.network.URLLoader.lambda$didFinishLoading$102()V+8
j com.sun.webkit.network.URLLoader$$Lambda$2558.run()V+4
j com.sun.javafx.application.PlatformImpl.lambda$null$402(Ljava/lang/Runnable;)Ljava/lang/Void;+1
j com.sun.javafx.application.PlatformImpl$$Lambda$2221.run()Ljava/lang/Object;+4
v ~StubRoutines::call_stub
J 3192 java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x00007f169d3324e3 [0x00007f169d332480+0x63]
j com.sun.javafx.application.PlatformImpl.lambda$runLater$403(Ljava/lang/Runnable;Ljava/security/AccessControlContext;)V+7
j com.sun.javafx.application.PlatformImpl$$Lambda$2220.run()V+8
J 19532 C1 com.sun.glass.ui.InvokeLaterDispatcher$Future.run()V (91 bytes) @ 0x00007f169fd6f4d4 [0x00007f169fd6f3c0+0x114]
v ~StubRoutines::call_stub
j com.sun.glass.ui.gtk.GtkApplication._runLoop(Ljava/lang/Runnable;Z)V+0
j com.sun.glass.ui.gtk.GtkApplication.lambda$null$208(Ljava/lang/Runnable;Z)V+7
j com.sun.glass.ui.gtk.GtkApplication$$Lambda$1976.run()V+12
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub