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

Bernd Mathiske commented on MESOS-3264:
---------------------------------------

"if (closed)" alone may not be enough, since the JVM will execute finalizers on 
a special thread, the finalizer thread. If you close in a different thread, the 
finalizer thread may not see this update in time. You need to mark "closed" 
volatile or use synchronization to ensure consistency. 

However, it seems to me that the right thing to do is to wait until 
driver.stop() has succeeded. If such a facility does not exist, it needs to be 
written. This might help a lot of other tests, too! 


> 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
>            Assignee: haosdent
>            Priority: Minor
>              Labels: java, tech-debt
>
> 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)

Reply via email to