[ 
https://issues.apache.org/jira/browse/MESOS-2414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14343884#comment-14343884
 ] 

Benjamin Mahler commented on MESOS-2414:
----------------------------------------

For case 1, a 0.21.1 jar should work with 0.22.0 libmesos, [~drexin] sent me 
the stack trace offline:

{code}
java.lang.NoSuchFieldError: implicitAcknowledgements
        at org.apache.mesos.MesosSchedulerDriver.initialize(Native Method)
        at 
org.apache.mesos.MesosSchedulerDriver.<init>(MesosSchedulerDriver.java:111)
        at 
mesosphere.marathon.MarathonSchedulerDriver$.newDriver(MarathonSchedulerDriver.scala:76)
        at 
mesosphere.marathon.MarathonSchedulerService.newDriver(MarathonSchedulerService.scala:90)
        at 
mesosphere.marathon.MarathonSchedulerService.stopDriver(MarathonSchedulerService.scala:228)
        at 
mesosphere.marathon.MarathonSchedulerService.defeatLeadership(MarathonSchedulerService.scala:294)
        at 
mesosphere.marathon.MarathonSchedulerService.onDefeated(MarathonSchedulerService.scala:248)
        at 
com.twitter.common.zookeeper.CandidateImpl$3.execute(CandidateImpl.java:130)
        at 
com.twitter.common.zookeeper.Group$ActiveMembership.tryJoin(Group.java:465)
        at 
com.twitter.common.zookeeper.Group$ActiveMembership.access$800(Group.java:316)
        at 
com.twitter.common.zookeeper.Group$ActiveMembership$3.process(Group.java:433)
        at 
org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:531)
        at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:507)
{code}

This is surprising as we explicitly ignore java.lang.NoSuchFieldError inside 
[convert|https://github.com/apache/mesos/blob/0.22.0-rc2/src/java/jni/convert.cpp#L519].

Here is a diff that might provide more information:
{code}
diff --git a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp 
b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
index 4f0dad7..c1fb068 100644
--- a/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
+++ b/src/java/jni/org_apache_mesos_MesosSchedulerDriver.cpp
@@ -16,6 +16,8 @@
  * limitations under the License.
  */

+#include <glog/logging.h>
+
 #include <string>
 #include <map>
 #include <vector>
@@ -505,9 +507,8 @@ JNIEXPORT void JNICALL 
Java_org_apache_mesos_MesosSchedulerDriver_initialize
   Result<jfieldID> implicitAcknowledgements =
     getFieldID(env, clazz, "implicitAcknowledgements", "Z");

-  if (implicitAcknowledgements.isError()) {
-    return; // Exception has been thrown.
-  }
+  CHECK(!implicitAcknowledgements.isError)
+    << implicitAcknowledgements.error();

   // Default to implicit acknowledgements, as done before 0.22.0.
   jboolean jimplicitAcknowledgements = JNI_TRUE;
{code}

Can you run marathon with a 0.21.1 jar against a 0.22.0 libmesos built with 
this diff included?

> Java bindings segfault during framework shutdown
> ------------------------------------------------
>
>                 Key: MESOS-2414
>                 URL: https://issues.apache.org/jira/browse/MESOS-2414
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Niklas Quarfot Nielsen
>            Assignee: Niklas Quarfot Nielsen
>
> {code}
> I0226 16:39:59.063369 626044928 sched.cpp:831] Stopping framework 
> '20150220-141149-16777343-5050-45194-0000'
> [2015-02-26 16:39:59,063] INFO Driver future completed. Executing optional 
> abdication command. (mesosphere.marathon.MarathonSchedulerService:191)
> [2015-02-26 16:39:59,065] INFO Setting framework ID to 
> 20150220-141149-16777343-5050-45194-0000 
> (mesosphere.marathon.MarathonSchedulerService:75)
> #
> # A fatal error has been detected by the Java Runtime Environment:
> #
> #  SIGSEGV (0xb) at pc=0x0000000106a266d0, pid=99408, tid=44291
> #
> # JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 
> 1.8.0_25-b17)
> # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode bsd-amd64 
> compressed oops)
> # Problematic frame:
> # V  [libjvm.dylib+0x4266d0]  Klass::is_subtype_of(Klass*) const+0x4
> #
> # 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:
> # /Users/corpsi/projects/marathon/hs_err_pid99408.log
> #
> # If you would like to submit a bug report, please visit:
> #   http://bugreport.sun.com/bugreport/crash.jsp
> #
> Abort trap: 6
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to