mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Rukletsov <ruklet...@gmail.com>
Subject Re: Review Request 68484: Added macros to unconditionally disable boost debug mode.
Date Fri, 24 Aug 2018 11:57:21 GMT


> On Aug. 24, 2018, 7:52 a.m., Alexander Rukletsov wrote:
> > Maybe mention that folks should consider moving away from boost 1.53 in `upgrades.md`?
> 
> Benno Evers wrote:
>     I dont think so, switching Boost version can be a huge pain, and if we get this fix
in time for 1.7 then all supported Mesos versions actually work fine with 1.53.
>     
>     Indeed, from a consumer perspective 1.53 seems to be the ideal version to be on right
now, since any incompatibilities will be fixed with high priority.

Good point, Benno. Just checked that we use 1.53 in DC/OS, hence the sentiment that it is
one of the most tested combination is correct : )


- Alexander


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


On Aug. 24, 2018, 11:51 a.m., Benno Evers wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/68484/
> -----------------------------------------------------------
> 
> (Updated Aug. 24, 2018, 11:51 a.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,
> 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