----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/68484/#review207892 -----------------------------------------------------------
Fix it, then Ship it! src/master/master.hpp Lines 32 (patched) <https://reviews.apache.org/r/68484/#comment291506> Let's leave a TODO here: ``` // TODO(bevers): Remove this once we bump the minimum Boost version. ``` src/slave/slave.hpp Lines 27 (patched) <https://reviews.apache.org/r/68484/#comment291507> Let's just copy the comments here so the reader doesn't need to refer to another file and also leave a TODO. - Chun-Hung Hsiao 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 > >