mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benno Evers <bev...@mesosphere.com>
Subject Re: Review Request 68484: Unconditionally disabled boost debug mode.
Date Fri, 24 Aug 2018 17:39:35 GMT


> On Aug. 24, 2018, 4:41 p.m., Chun-Hung Hsiao wrote:
> > src/slave/slave.hpp
> > Lines 27 (patched)
> > <https://reviews.apache.org/r/68484/diff/2/?file=2077072#file2077072line27>
> >
> >     Let's just copy the comments here so the reader doesn't need to refer to another
file and also leave a TODO.

It sounds like a good idea, but both comments are unified anyways later on in the chain so
I think it's fine to leave it as is here.


- Benno


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/68484/#review207892
-----------------------------------------------------------


On Aug. 24, 2018, 12:28 p.m., Benno Evers wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68484/
> -----------------------------------------------------------
> 
> (Updated Aug. 24, 2018, 12:28 p.m.)
> 
> 
> Review request for mesos and Alexander Rukletsov.
> 
> 
> Bugs: MESOS-9177
>     https://issues.apache.org/jira/browse/MESOS-9177
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Boost.CircularBuffer includes optional debugging code that counts the
> number of currently existing iterators to the container. Up to Boost
> 1.62, this code was enabled by default.
> 
> However, the existing iterators were stored in a linked list that was
> updated without any synchronization, leading to potential segfaults
> when reading the same buffer from multiple threads.
> 
> Given that the Master stores the completed tasks for each framework
> in a circular buffer, and that this can be read from multiple threads
> when multiple batched requests to the `/state` endpoint are processed
> (introduced by MESOS-9122), we have to unconditionally disable Boost's
> debug mode to prevent possible segfaults.
> 
> 
> Diffs
> -----
> 
>   src/master/master.hpp dc0080b24f19b77a4de34ab24aece657726343b8 
>   src/slave/slave.hpp 0420109ac93e1249906c52437e5859c5ee033fb6 
> 
> 
> Diff: https://reviews.apache.org/r/68484/diff/2/
> 
> 
> Testing
> -------
> 
> * Compiled mesos master against boost 1.53 from https://downloads.mesosphere.com/pkgpanda-artifact-cache/boost_1_53_0.tar.gz.
> * Wrote a script that can trigger a segfault by reading from a circular buffer in parallel
(pasted in the linked ticket) and verified that it crashes mesos master.
> * Recompiled mesos with this patch applied.
> * Verified that the above script does not produce a segfault anymore.
> 
> 
> Thanks,
> 
> Benno Evers
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message