OpenJDK fatal error SIGSEGV due to CloseTTFontFileFunc callback
Issue
- Switched from OracleJDK to OpenJDK and now see Tomcat crash within one day with the following in the Tomcat log:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f42ab23cad4, pid=2009, tid=139923738359552
#
# JRE version: OpenJDK Runtime Environment (7.0_65-b17) (build 1.7.0_65-mockbuild_2014_07_14_06_19-b00)
# Java VM: OpenJDK 64-Bit Server VM (24.65-b04 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J 854 C2 java.lang.String.getBytes(Ljava/lang/String;)[B (27 bytes) @ 0x00007f42ab23cad4 [0x00007f42ab23caa0+0x34]
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
[thread 139921575544576 also had an error]
# An error report file with more information is saved as:
# /tmp/jvm-2009/hs_error.log
AHE@0x00007f42b40b5990: 0xbb000000 i2c: 0x00007f42ab1a8560 c2i: 0x00007f42ab1a85b5 c2iUV: 0x00007f42ab1a8588
[thread 139921616598784 also had an error]
[thread 139921730635520 also had an error]
[thread 139921606072064 also had an error]
[thread 139921700108032 also had an error]
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
# http://icedtea.classpath.org/bugzilla
#
- Core dump analysis shows the crash with CloseTTFontFileFunc in the stack:
#0 0x0000003647032625 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x0000003647033e05 in abort () at abort.c:92
#2 0x00007f5b17d219e5 in os::abort (dump_core=true) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/os/linux/vm/os_linux.cpp:1615
#3 0x00007f5b17e9581f in VMError::report_and_die (this=0x7f5af6665e60) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/utilities/vmError.cpp:1073
#4 0x00007f5b17d26e12 in JVM_handle_linux_signal (sig=11, info=0x7f5af6666030, ucVoid=0x7f5af6665f00, abort_if_unrecognized=-161063456)
at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp:531
#5 <signal handler called>
#6 resolve_non_null (env=0x7f5b11efc9d8, obj=0x0, fieldID=0xc2) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/runtime/jniHandles.hpp:202
#7 jni_GetObjectField (env=0x7f5b11efc9d8, obj=0x0, fieldID=0xc2) at /usr/src/debug/java-1.7.0-openjdk/openjdk/hotspot/src/share/vm/prims/jni.cpp:2640
#8 0x00007f5af6671e31 in CloseTTFontFileFunc (stream=<value optimized out>) at ../../../src/share/native/sun/font/freetypeScaler.c:161
#9 0x000000364b010f17 in FT_Stream_Free (stream=0x7f5a84007bc0, external=1) at /usr/src/debug/freetype-2.3.11/src/base/ftobjs.c:196
#10 0x000000364b0119d4 in destroy_face (memory=0x7f5a84001580, face=0x7f5a84007c20, driver=0x7f5a84001370) at /usr/src/debug/freetype-2.3.11/src/base/ftobjs.c:874
#11 0x000000364b011a92 in FT_Done_Face (face=0x7f5a84007c20) at /usr/src/debug/freetype-2.3.11/src/base/ftobjs.c:2260
#12 0x00007f5af6673072 in freeNativeResources (env=0x7f5b11efc9d8, scaler=<value optimized out>, font2D=<value optimized out>, pScaler=140026738382000)
at ../../../src/share/native/sun/font/freetypeScaler.c:124
#13 Java_sun_font_FreetypeFontScaler_disposeNativeScaler (env=0x7f5b11efc9d8, scaler=<value optimized out>, font2D=<value optimized out>, pScaler=140026738382000)
at ../../../src/share/native/sun/font/freetypeScaler.c:1052
#14 0x00007f5b071817f8 in ?? ()
Environment
- Red Hat Enterprise Linux (RHEL)
- OpenJDK
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.