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)