----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/67824/#review205704 -----------------------------------------------------------
Ship it! Ship It! - Chun-Hung Hsiao On July 4, 2018, 12:06 a.m., Benjamin Mahler wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/67824/ > ----------------------------------------------------------- > > (Updated July 4, 2018, 12:06 a.m.) > > > Review request for mesos and Chun-Hung Hsiao. > > > Bugs: MESOS-9024 > https://issues.apache.org/jira/browse/MESOS-9024 > > > Repository: mesos > > > Description > ------- > > Currently, the socket recv path is implemented using an asynchronous > loop with callbacks. Without using `process::loop`, this pattern is > prone to a stack overflow in the case that all asynchronous calls > complete synchronously. This is possible with sockets if the socket > is always ready for reading. The crash has been reported in MESOS-9024, > so the stack overflow has been encountered in practice. > > This patch updates the recv path to leverage `process::loop`, which > is supposed to prevent stack overflows in asynchronous loops. However, > it is still possible for `process::loop` to stack overflow due to > MESOS-8852. In practice, I expect that even without MESOS-8852 fixed, > users won't see any stack overflows in the recv path. > > > Diffs > ----- > > 3rdparty/libprocess/src/process.cpp > eb9613f1d47d611a31f7c538216fa324bbca1a56 > > > Diff: https://reviews.apache.org/r/67824/diff/2/ > > > Testing > ------- > > make check and manually tested master/agent/framework communication > > > Thanks, > > Benjamin Mahler > >
