> On Dec. 14, 2016, 8:45 p.m., Joris Van Remoortere wrote: > > I ran this with `./libprocess-tests --gtest_filter="*FutureTest*After3*" > > --gtest_repeat=1000 --gtest_break_on_failure` and ran into the following: > > > > ``` > > Repeating all tests (iteration 412) . . . > > > > Note: Google Test filter = *FutureTest*After3* > > [==========] Running 1 test from 1 test case. > > [----------] Global test environment set-up. > > [----------] 1 test from FutureTest > > [ RUN ] FutureTest.After3 > > ../../../3rdparty/libprocess/src/tests/future_tests.cpp:282: Failure > > Value of: witness.use_count() > > Actual: 2 > > Expected: 1 > > *** Aborted at 1481744566 (unix time) try "date -d @1481744566" if you are > > using GNU date *** > > PC: @ 0x7a49a6 testing::UnitTest::AddTestPartResult() > > *** SIGSEGV (@0x0) received by PID 29912 (TID 0x7fa0211707c0) from PID 0; > > stack trace: *** > > @ 0x7fa020d7ad10 (unknown) > > @ 0x7a49a6 testing::UnitTest::AddTestPartResult() > > @ 0x7a452e testing::internal::AssertHelper::operator=() > > @ 0x4bd725 FutureTest_After3_Test::TestBody() > > @ 0x7e0fc3 > > testing::internal::HandleSehExceptionsInMethodIfSupported<>() > > @ 0x7cba71 > > testing::internal::HandleExceptionsInMethodIfSupported<>() > > @ 0x7ac7a5 testing::Test::Run() > > @ 0x7ad40b testing::TestInfo::Run() > > @ 0x7adb17 testing::TestCase::Run() > > @ 0x7b51d8 testing::internal::UnitTestImpl::RunAllTests() > > @ 0x7dda73 > > testing::internal::HandleSehExceptionsInMethodIfSupported<>() > > @ 0x7cdbe1 > > testing::internal::HandleExceptionsInMethodIfSupported<>() > > @ 0x7b4e95 testing::UnitTest::Run() > > @ 0x603951 RUN_ALL_TESTS() > > @ 0x603657 main > > @ 0x7fa01f229a40 (unknown) > > @ 0x419019 _start > > Segmentation fault (core dumped) > > ``` > > > > Can you run this test with repeat enabled and debug this issue?
I was not that easy to reproduce, but the root of the problem is that `Clock` may delete the timers after the tests, which causes `use_count` to be different from 1, I have a fix coming when I have run the test enough times. - Alexander ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53299/#review159218 ----------------------------------------------------------- On Dec. 14, 2016, 9:22 a.m., Alexander Rojas wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/53299/ > ----------------------------------------------------------- > > (Updated Dec. 14, 2016, 9:22 a.m.) > > > Review request for mesos, Benjamin Bannier, Jie Yu, and Joris Van Remoortere. > > > Bugs: MESOS-6484 > https://issues.apache.org/jira/browse/MESOS-6484 > > > Repository: mesos > > > Description > ------- > > Removes a reference counted pointer that futures kept to themselves > when using the method `Future<T>::after()`. > > > Diffs > ----- > > 3rdparty/libprocess/include/process/future.hpp > 26bf5851f6562cd73aa4938b3308639144657044 > 3rdparty/libprocess/src/tests/future_tests.cpp > 7c411c7be1849119fe0b070622dbe4488fa11b7a > > Diff: https://reviews.apache.org/r/53299/diff/ > > > Testing > ------- > > `make check` > > > Thanks, > > Alexander Rojas > >