----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/71136/#review216792 -----------------------------------------------------------
Ship it! Ship It! - Gilbert Song On July 22, 2019, 8:51 a.m., Andrei Budnik wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/71136/ > ----------------------------------------------------------- > > (Updated July 22, 2019, 8:51 a.m.) > > > Review request for mesos, Benjamin Mahler, Gilbert Song, Meng Zhu, and Qian > Zhang. > > > Repository: mesos > > > Description > ------- > > Previously, the future tracker subscribed on `onAny`, `onAbandoned`, > `onDiscard` events for the future using callbacks, which accept > the same iterator to the `pending` list. Since `onAny` and `onDiscard` > events can overlap, the same callback can be called more than once, > which leads to accessing invalidated iterator. This patch fixes the > problem by removing `onDiscard` handler because it does not transition > a future to the terminal state. > > > Diffs > ----- > > src/common/future_tracker.hpp a3f191a58b7ada58153ca33a8d0409b846faedae > > > Diff: https://reviews.apache.org/r/71136/diff/2/ > > > Testing > ------- > > I was able to reproduce a segfault observed in our CI by launching > `ROOT_LaunchGroupFailure` test in the loop with `stress` running in parallel: > ``` > sudo src/mesos-tests --verbose --gtest_repeat=100 --break_on_failure > --gtest_filter=ROOT_DOCKER_DockerAndMesosContainerizers/DefaultExecutorTest.ROOT_LaunchGroupFailure/0 > > stress -c 16 > ``` > After applying the patch, the test passed successfully. > > > Thanks, > > Andrei Budnik > >
