Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-7728

Java HTTP adapter crashes JVM when leading master disconnects.

    XMLWordPrintableJSON

Details

    Description

      When a Java scheduler using HTTP v0-v1 adapter loses the leading Mesos master, V0ToV1AdapterProcess::disconnected() is invoked, which in turn invokes Java scheduler code via JNI. This call uses the wrong object, jmesos instead of jscheduler, which crashes JVM:

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      #  SIGSEGV (0xb) at pc=0x00007f4bca3849bf, pid=21, tid=0x00007f4b2ac45700
      #
      # 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 linux-amd64 compressed oops)
      # Problematic frame:
      # V  [libjvm.so+0x6d39bf]  jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x1af
      
      Stack: [0x00007f4b2a445000,0x00007f4b2ac46000],  sp=0x00007f4b2ac44a80,  free space=8190k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V  [libjvm.so+0x6d39bf]  jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*)+0x1af
      V  [libjvm.so+0x6d7fef]  jni_CallVoidMethodV+0x10f
      C  [libmesos-1.2.0.so+0x1aa32d3]  JNIEnv_::CallVoidMethod(_jobject*, _jmethodID*, ...)+0x93
      

      Attachments

        Activity

          People

            alexr Alex R
            alexr Alex R
            Vinod Kone Vinod Kone
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: