You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Mahler (JIRA)" <ji...@apache.org> on 2015/12/01 02:26:11 UTC

[jira] [Updated] (MESOS-4029) ContentType/SchedulerTest is flaky.

     [ https://issues.apache.org/jira/browse/MESOS-4029?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Benjamin Mahler updated MESOS-4029:
-----------------------------------
    Shepherd: Benjamin Mahler
    Assignee: Anand Mazumdar
     Summary: ContentType/SchedulerTest is flaky.  (was: ContentType/SchedulerTest seems flaky.)

Took a look. For the traces with the mock expectation crashing (traces containing UntypedInvokeWith), the issue appears to be that our stack object dependencies in the tests are not safely ordered.

Specifically, we pass a pointer of the {{Queue<Events>}} ([here|https://github.com/apache/mesos/blob/0.26.0-rc2/src/tests/scheduler_tests.cpp#L147]) into the expectations on {{Callbacks}} above. During destruction of the test, the {{Mesos}} class will destruct **after** the {{Queue<Events>}} is already destructed. If a non-HEARTBEAT event arrives in this window, the expectation will try to dereference the destructed {{Queue<Events>}} object.

> ContentType/SchedulerTest is flaky.
> -----------------------------------
>
>                 Key: MESOS-4029
>                 URL: https://issues.apache.org/jira/browse/MESOS-4029
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 0.26.0
>            Reporter: Till Toenshoff
>            Assignee: Anand Mazumdar
>              Labels: flaky, flaky-test
>
> SSL build, [Ubuntu 14.04|https://github.com/tillt/mesos-vagrant-ci/blob/master/ubuntu14/setup.sh], non-root test run.
> {noformat}
> [----------] 22 tests from ContentType/SchedulerTest
> [ RUN      ] ContentType/SchedulerTest.Subscribe/0
> [       OK ] ContentType/SchedulerTest.Subscribe/0 (48 ms)
> *** Aborted at 1448928007 (unix time) try "date -d @1448928007" if you are using GNU date ***
> [ RUN      ] ContentType/SchedulerTest.Subscribe/1
> PC: @          0x1451b8e testing::internal::UntypedFunctionMockerBase::UntypedInvokeWith()
> *** SIGSEGV (@0x100000030) received by PID 21320 (TID 0x2b549e5d4700) from PID 48; stack trace: ***
>     @     0x2b54c95940b7 os::Linux::chained_handler()
>     @     0x2b54c9598219 JVM_handle_linux_signal
>     @     0x2b5496300340 (unknown)
>     @          0x1451b8e testing::internal::UntypedFunctionMockerBase::UntypedInvokeWith()
>     @           0xe2ea6d _ZN7testing8internal18FunctionMockerBaseIFvRKSt5queueIN5mesos2v19scheduler5EventESt5dequeIS6_SaIS6_EEEEE10InvokeWithERKSt5tupleIJSC_EE
>     @           0xe2b1bc testing::internal::FunctionMocker<>::Invoke()
>     @          0x1118aed mesos::internal::tests::SchedulerTest::Callbacks::received()
>     @          0x111c453 _ZNKSt7_Mem_fnIMN5mesos8internal5tests13SchedulerTest9CallbacksEFvRKSt5queueINS0_2v19scheduler5EventESt5dequeIS8_SaIS8_EEEEEclIJSE_EvEEvRS4_DpOT_
>     @          0x111c001 _ZNSt5_BindIFSt7_Mem_fnIMN5mesos8internal5tests13SchedulerTest9CallbacksEFvRKSt5queueINS1_2v19scheduler5EventESt5dequeIS9_SaIS9_EEEEESt17reference_wrapperIS5_ESt12_PlaceholderILi1EEEE6__callIvJSF_EJLm0ELm1EEEET_OSt5tupleIJDpT0_EESt12_Index_tupleIJXspT1_EEE
>     @          0x111b90d _ZNSt5_BindIFSt7_Mem_fnIMN5mesos8internal5tests13SchedulerTest9CallbacksEFvRKSt5queueINS1_2v19scheduler5EventESt5dequeIS9_SaIS9_EEEEESt17reference_wrapperIS5_ESt12_PlaceholderILi1EEEEclIJSF_EvEET0_DpOT_
>     @          0x111ae09 std::_Function_handler<>::_M_invoke()
>     @     0x2b5493c6da09 std::function<>::operator()()
>     @     0x2b5493c688ee process::AsyncExecutorProcess::execute<>()
>     @     0x2b5493c6db2a _ZZN7process8dispatchI7NothingNS_20AsyncExecutorProcessERKSt8functionIFvRKSt5queueIN5mesos2v19scheduler5EventESt5dequeIS8_SaIS8_EEEEESC_PvSG_SC_SJ_EENS_6FutureIT_EERKNS_3PIDIT0_EEMSO_FSL_T1_T2_T3_ET4_T5_T6_ENKUlPNS_11ProcessBaseEE_clES11_
>     @     0x2b5493c765a4 _ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchI7NothingNS0_20AsyncExecutorProcessERKSt8functionIFvRKSt5queueIN5mesos2v19scheduler5EventESt5dequeISC_SaISC_EEEEESG_PvSK_SG_SN_EENS0_6FutureIT_EERKNS0_3PIDIT0_EEMSS_FSP_T1_T2_T3_ET4_T5_T6_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
>     @     0x2b54946b1201 std::function<>::operator()()
>     @     0x2b549469960f process::ProcessBase::visit()
>     @     0x2b549469d480 process::DispatchEvent::visit()
>     @           0x9dc0ba process::ProcessBase::serve()
>     @     0x2b54946958cc process::ProcessManager::resume()
>     @     0x2b5494692a9c _ZZN7process14ProcessManager12init_threadsEvENKUlRKSt11atomic_boolE_clES3_
>     @     0x2b549469ccac _ZNSt5_BindIFZN7process14ProcessManager12init_threadsEvEUlRKSt11atomic_boolE_St17reference_wrapperIS3_EEE6__callIvIEILm0EEEET_OSt5tupleIIDpT0_EESt12_Index_tupleIIXspT1_EEE
>     @     0x2b549469cc5c _ZNSt5_BindIFZN7process14ProcessManager12init_threadsEvEUlRKSt11atomic_boolE_St17reference_wrapperIS3_EEEclIIEvEET0_DpOT_
>     @     0x2b549469cbee _ZNSt12_Bind_simpleIFSt5_BindIFZN7process14ProcessManager12init_threadsEvEUlRKSt11atomic_boolE_St17reference_wrapperIS4_EEEvEE9_M_invokeIIEEEvSt12_Index_tupleIIXspT_EEE
>     @     0x2b549469cb45 _ZNSt12_Bind_simpleIFSt5_BindIFZN7process14ProcessManager12init_threadsEvEUlRKSt11atomic_boolE_St17reference_wrapperIS4_EEEvEEclEv
>     @     0x2b549469cade _ZNSt6thread5_ImplISt12_Bind_simpleIFSt5_BindIFZN7process14ProcessManager12init_threadsEvEUlRKSt11atomic_boolE_St17reference_wrapperIS6_EEEvEEE6_M_runEv
>     @     0x2b5495b81a40 (unknown)
>     @     0x2b54962f8182 start_thread
>     @     0x2b549660847d (unknown)
> make[3]: *** [check-local] Segmentation fault
> make[3]: Leaving directory `/home/vagrant/mesos/build/src'
> make[2]: *** [check-am] Error 2
> make[2]: Leaving directory `/home/vagrant/mesos/build/src'
> make[1]: *** [check] Error 2
> make[1]: Leaving directory `/home/vagrant/mesos/build/src'
> make: *** [check-recursive] Error 1
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)