----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66863/#review202106 -----------------------------------------------------------
Patch looks great! Reviews applied: [66863] Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose --disable-libtool-wrappers' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker-build.sh - Mesos Reviewbot On April 28, 2018, 9:40 p.m., Benjamin Mahler wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/66863/ > ----------------------------------------------------------- > > (Updated April 28, 2018, 9:40 p.m.) > > > Review request for mesos, Benjamin Hindman, Benno Evers, and Chun-Hung Hsiao. > > > Bugs: MESOS-8594 > https://issues.apache.org/jira/browse/MESOS-8594 > > > Repository: mesos > > > Description > ------- > > Currently, the socket send 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 writing. Users have reported the crash in both > MESOS-8594 and MESOS-8834, so the stack overflow is encountered in > practice. > > This patch updates the send 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 send path. > > > Diffs > ----- > > 3rdparty/libprocess/src/process.cpp > 21931db5edd7ecf0f4620dba42a5521f48cd47a3 > > > Diff: https://reviews.apache.org/r/66863/diff/1/ > > > Testing > ------- > > make check > > > Thanks, > > Benjamin Mahler > >
