Uploaded image for project: 'Commons Daemon'
  1. Commons Daemon
  2. DAEMON-363

JSVC Fails to launch (SIGBUS 0x7) on Centos 6.9 Kernel 2.6.32-696.3.2.el6.x86_64

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Duplicate
    • Affects Version/s: 1.0.15
    • Fix Version/s: None
    • Component/s: Jsvc
    • Labels:
      None
    • Environment:

      CentOS 6.9
      Kernel: 2.6.32-696.3.2.el6.x86_64
      Updated for CVE: CVE-2017-1000364

      JSVC compiled from latest source.

      Description

      After applying the update for CVE-2017-1000364 to CentOS 6.9 (kernel 2.6.32-696.3.2.el6.x86_64) JSVC no longer launches the JVM.

      The process starts, and when it attempts to launch the JVM it fails with a SIGBUS (0x7).

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      #  SIGBUS (0x7) at pc=0x00007f4785109bfc, pid=21204, tid=0x00007f4796bbd700
      #
      # JRE version:  (8.0_121-b13) (build )
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode linux-amd64 compressed oops)
      # Problematic frame:
      # j  java.lang.Object.<clinit>()V+0
      

      The following reproduces the problem. Note that the target class is not relevant as it never reaches that point.
      ./jsvc -debug -verbose -home /opt/java/1.8.0_121/ com.does.not.Matter

      Tracing the code it reaches this point and then fails:

      java.c
      bool java_init(arg_data *args, home_data *data)
       ret = (*symb) (&jvm, &env, &arg);
      

      The following is the output:

      # ./jsvc -debug -verbose  -home /opt/java/1.8.0_121/  com.does.not.Matter
      +-- DUMPING PARSED COMMAND LINE ARGUMENTS --------------
      | Detach:          True
      | Show Version:    No
      | Show Help:       No
      | Check Only:      Disabled
      | Stop:            False
      | Wait:            0
      | Run as service:  No
      | Install service: No
      | Remove service:  No
      | JVM Name:        "null"
      | Java Home:       "/opt/java/1.8.0_121/"
      | PID File:        "/var/run/jsvc.pid"
      | User Name:       "null"
      | Extra Options:   1
      |   "-verbose"
      | Class Invoked:   "com.does.not.Matter"
      | Class Arguments: 0
      +-------------------------------------------------------
      Attempting to locate Java Home in /opt/java/1.8.0_121/
      Attempting to locate VM configuration file /opt/java/1.8.0_121//jre/lib/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//lib/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//jre/lib/amd64/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//lib/amd64/jvm.cfg
      Found VM configuration file at /opt/java/1.8.0_121//lib/amd64/jvm.cfg
      Found VM server definition in configuration
      Checking library /opt/java/1.8.0_121//jre/lib/amd64/server/libjvm.so
      Checking library /opt/java/1.8.0_121//lib/amd64/server/libjvm.so
      Found VM client definition in configuration
      Checking library /opt/java/1.8.0_121//jre/lib/amd64/client/libjvm.so
      Checking library /opt/java/1.8.0_121//lib/amd64/client/libjvm.so
      Cannot locate library for VM client (skipping)
      Java Home located in /opt/java/1.8.0_121/
      +-- DUMPING JAVA HOME STRUCTURE ------------------------
      | Java Home:       "/opt/java/1.8.0_121/"
      | Java VM Config.: "/opt/java/1.8.0_121//lib/amd64/jvm.cfg"
      | Found JVMs:      1
      | JVM Name:        "server"
      |                  "/opt/java/1.8.0_121//lib/amd64/server/libjvm.so"
      +-------------------------------------------------------
      Using default JVM in /opt/java/1.8.0_121//lib/amd64/server/libjvm.so
      Invoking w/ LD_LIBRARY_PATH=/opt/java/1.8.0_121//lib/amd64/server:/opt/java/1.8.0_121//lib/amd64
      +-- DUMPING PARSED COMMAND LINE ARGUMENTS --------------
      | Detach:          True
      | Show Version:    No
      | Show Help:       No
      | Check Only:      Disabled
      | Stop:            False
      | Wait:            0
      | Run as service:  No
      | Install service: No
      | Remove service:  No
      | JVM Name:        "null"
      | Java Home:       "/opt/java/1.8.0_121/"
      | PID File:        "/var/run/jsvc.pid"
      | User Name:       "null"
      | Extra Options:   1
      |   "-verbose"
      | Class Invoked:   "com.does.not.Matter"
      | Class Arguments: 0
      +-------------------------------------------------------
      Attempting to locate Java Home in /opt/java/1.8.0_121/
      Attempting to locate VM configuration file /opt/java/1.8.0_121//jre/lib/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//lib/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//jre/lib/amd64/jvm.cfg
      Attempting to locate VM configuration file /opt/java/1.8.0_121//lib/amd64/jvm.cfg
      Found VM configuration file at /opt/java/1.8.0_121//lib/amd64/jvm.cfg
      Found VM server definition in configuration
      Checking library /opt/java/1.8.0_121//jre/lib/amd64/server/libjvm.so
      Checking library /opt/java/1.8.0_121//lib/amd64/server/libjvm.so
      Found VM client definition in configuration
      Checking library /opt/java/1.8.0_121//jre/lib/amd64/client/libjvm.so
      Checking library /opt/java/1.8.0_121//lib/amd64/client/libjvm.so
      Cannot locate library for VM client (skipping)
      Java Home located in /opt/java/1.8.0_121/
      +-- DUMPING JAVA HOME STRUCTURE ------------------------
      | Java Home:       "/opt/java/1.8.0_121/"
      | Java VM Config.: "/opt/java/1.8.0_121//lib/amd64/jvm.cfg"
      | Found JVMs:      1
      | JVM Name:        "server"
      |                  "/opt/java/1.8.0_121//lib/amd64/server/libjvm.so"
      +-------------------------------------------------------
      Running w/ LD_LIBRARY_PATH=/opt/java/1.8.0_121//lib/amd64/server:/opt/java/1.8.0_121//lib/amd64
      redirecting stdout to /dev/null and stderr to /dev/null
      Switching umask back to 077 from 077
      [root@cyyz-00-bitch-001 nexus]# Using default JVM in /opt/java/1.8.0_121//lib/amd64/server/libjvm.so
      Attemtping to load library /opt/java/1.8.0_121//lib/amd64/server/libjvm.so
      JVM library /opt/java/1.8.0_121//lib/amd64/server/libjvm.so loaded
      JVM library entry point found (0xA4505D20)
      +-- DUMPING JAVA VM CREATION ARGUMENTS -----------------
      | Version:                       0x010004
      | Ignore Unrecognized Arguments: False
      | Extra options:                 1
      |   "-verbose" (0x00000000)
      +-------------------------------------------------------
      | Internal options:              4
      |   "-Dcommons.daemon.process.id=4035" (0x00000000)
      |   "-Dcommons.daemon.process.parent=4034" (0x00000000)
      |   "-Dcommons.daemon.version=1.0.15-dev" (0x00000000)
      |   "abort" (0x00405f80)
      +-------------------------------------------------------
      [Opened /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Object from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.io.Serializable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Comparable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.CharSequence from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.String from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.AnnotatedElement from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.GenericDeclaration from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Type from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Class from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Cloneable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.System from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Throwable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Error from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ThreadDeath from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Exception from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.RuntimeException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.SecurityManager from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.security.ProtectionDomain from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.security.AccessControlContext from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.security.SecureClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ReflectiveOperationException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ClassNotFoundException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.LinkageError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.NoClassDefFoundError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ClassCastException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ArrayStoreException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.VirtualMachineError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.OutOfMemoryError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.StackOverflowError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.IllegalMonitorStateException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.Reference from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.SoftReference from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.WeakReference from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.FinalReference from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.PhantomReference from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.misc.Cleaner from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ref.Finalizer from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Runnable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Thread from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Thread$UncaughtExceptionHandler from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ThreadGroup from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.util.Map from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.util.Dictionary from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.util.Hashtable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.util.Properties from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.AccessibleObject from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Member from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Field from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Parameter from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Executable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Method from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.reflect.Constructor from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.MagicAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.MethodAccessor from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.MethodAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.ConstructorAccessor from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.ConstructorAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.DelegatingClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.ConstantPool from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.FieldAccessor from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.FieldAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.UnsafeFieldAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.UnsafeStaticFieldAccessorImpl from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.annotation.Annotation from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.reflect.CallerSensitive from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.MethodHandle from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.DirectMethodHandle from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.MemberName from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.MethodHandleNatives from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.LambdaForm from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.MethodType from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.BootstrapMethodError from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.CallSite from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.ConstantCallSite from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.MutableCallSite from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.invoke.VolatileCallSite from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Appendable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.AbstractStringBuilder from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.StringBuffer from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.StringBuilder from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.misc.Unsafe from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.AutoCloseable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.io.Closeable from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.io.InputStream from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.io.ByteArrayInputStream from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.io.File from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.net.URLClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.net.URL from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.util.jar.Manifest from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.misc.Launcher from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.misc.Launcher$AppClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded sun.misc.Launcher$ExtClassLoader from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.security.CodeSource from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.StackTraceElement from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.nio.Buffer from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Boolean from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Character from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Number from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Float from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Double from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Byte from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Short from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Integer from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.Long from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.NullPointerException from /opt/java/1.8.0_121/lib/rt.jar]
      [Loaded java.lang.ArithmeticException from /opt/java/1.8.0_121/lib/rt.jar]
      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      #  SIGBUS (0x7) at pc=0x00007f4494157bfc, pid=4035, tid=0x00007f44a57eb700
      #
      # JRE version:  (8.0_121-b13) (build )
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode linux-amd64 compressed oops)
      # Problematic frame:
      # j  java.lang.Object.<clinit>()V+0
      #
      # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
      #
      # An error report file with more information is saved as:
      # //hs_err_pid4035.log
      #
      # If you would like to submit a bug report, please visit:
      #   http://bugreport.java.com/bugreport/crash.jsp
      #
      Reloading service
      Waiting 60 s to prevent looping
      

      The only way to resolve the issue is to pass the Java stack size argument "-Xss2m". The size must be at least 2m or higher to launch.

      Rolling back the latest kernel resolves the issue.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                schenkd Derek Schenk
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: