Alexander Rukletsov created MESOS-7728:
------------------------------------------

             Summary: Java HTTP adapter crashes JVM when leading master 
disconnects.
                 Key: MESOS-7728
                 URL: https://issues.apache.org/jira/browse/MESOS-7728
             Project: Mesos
          Issue Type: Bug
          Components: java api
    Affects Versions: 1.3.0, 1.2.1, 1.1.2
            Reporter: Alexander Rukletsov
            Assignee: Alexander Rukletsov


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|https://github.com/apache/mesos/blob/87c38b9e2bc5b1030a071ddf0aab69db70d64781/src/java/jni/org_apache_mesos_v1_scheduler_V0Mesos.cpp#L446].
 This call uses the wrong object, {{jmesos}} instead of {{jscheduler}}, which 
crashes JVM:
{noformat}
#
# 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
{noformat}
{noformat}
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
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to