Search code examples
javajava-8solariscoredumpsparc

JAVA 8 crashes with Fatal Error Log on startup - Solaris 10 (sparc)


I have multiple Solaris 10 hosts all working and running correctly with Java 7. I cannot get any flavor of Java 8 to work with my application or other java applications I have on the host.

It fails at startup and writes a Fatal error log. The hs_err_pid* file indicates the crash happened outside of the Java Virtual Machine in native code and it points to the libXi.so.5 library XListInputDevices method.

I have found a few (very few) mentions of this on the internet and most of them indicate this problem is over 5 years old - but I have not found any solutions and the bugs that reference this are still open and inactive. This tells me that someone is using Java 8 on Solaris 10 (sparc) so there has to be hope.

Any suggestions?

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGBUS (0xa) at pc=0xfffffffec8c05264, pid=24057, tid=0x0000000000000003
#
# JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode solaris-sparc compressed oops)
# Problematic frame:
# C  [libXi.so.5+0x5264]  XListInputDevices+0x3c8
#
# Core dump written. Default location: /opt/cds/dataSyncPlus_1.2.2b/bin/core or core.24057
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
...

Stack: [0xffffffff7ab00000,0xffffffff7ac00000],  sp=0xffffffff7abfd160,  free space=1012k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libXi.so.5+0x5264]  XListInputDevices+0x3c8
C  [libawt_xawt.so+0x301b8]  getNumButtons+0x60
C  [libawt_xawt.so+0x3012c]  Java_sun_awt_X11_XToolkit_getNumberOfButtonsImpl+0x3c
j  sun.awt.X11.XToolkit.getNumberOfButtonsImpl()I+0
j  sun.awt.X11.XToolkit.getNumberOfButtonsImpl()I+0
j  sun.awt.X11.XToolkit.getNumberOfButtons()I+10
j  sun.awt.X11.XToolkit.initializeDesktopProperties()V+102
j  java.awt.Toolkit.getDesktopProperty(Ljava/lang/String;)Ljava/lang/Object;+32
j  sun.swing.SwingUtilities2$AATextInfo.getAATextInfo(Z)Lsun/swing/SwingUtilities2$AATextInfo;+11
j  javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(Ljavax/swing/UIDefaults;)V+12062

...

Update:

My Solaris hosts are racked and I always run via SSH from a terminal at my desk. As I said, this works fine for JAVA 7 and everything else I do. For a test I went to the server and tried this from the KVM connected directly to the host and JAVA 8 worked fine. So, not that this should surprise anyone based on the library that failing, but this is indeed an X related issue.

I am not sure how this additional information helps me.


Solution

  • This looks like the stack trace reported in the Solaris 10 libXi under Oracle Bug 17750760, which should be fixed by installing Solaris 10 patch #119059-69 (SPARC) or #119060-68 (x86) or later.