Greg Mann created MESOS-3264:
--------------------------------
Summary: JVM can exit prematurely following framework teardown
Key: MESOS-3264
URL: https://issues.apache.org/jira/browse/MESOS-3264
Project: Mesos
Issue Type: Bug
Components: java api
Affects Versions: 0.23.0, 0.24.0
Reporter: Greg Mann
Priority: Minor
In Java frameworks, it is possible for the JVM to begin exiting the program -
via {{System.exit()}}, for example - while teardown of native objects such as
the SchedulerDriver and associated Executors is still in progress.
{{SchedulerDriver::stop()}} will return after it has sent messages to other
actors to begin their teardown, meanwhile the JVM is free to terminate the
program and thus begin executing native object destructors while those objects
are still in use, potentially leading to a segfault.
This has manifested itself in flaky tests from the ExamplesTest suite (see
MESOS-830 and MESOS-1013), as mutexes from glog are destroyed while the
framework is still shutting down and attempting to log.
Ideally, a mechanism would exist to block the Java code until a confirmation
that framework teardown is complete has been received.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)