Skip to content

Flaky test MetricsHandlerTests.Call #2832

@kuznetsss

Description

@kuznetsss

Issue Description

Tests crashed on MetricsHandlerTests.Call:

[ RUN      ] MetricsHandlerTests.Call
Assertion 'onTasksComplete->operator bool()' failed at /Users/skuznetsov/Documents/cpp/clio_fork/src/rpc/WorkQueue.cpp:177:
onTasksComplete must be set when stopping is true.
Stacktrace:
 0# std::__1::optional<std::__1::reference_wrapper<util::BaseTagDecorator const>>::optional[abi:ne200100](std::__1::nullopt_t) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 1# auto boost::asio::post<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::postCoro(std::__1::function<void (boost::asio::basic_yield_context<boost::asio::any_io_executor>)>, bool, rpc::WorkQueue::Priority)::$_0>(boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>> const&, rpc::WorkQueue::postCoro(std::__1::function<void (boost::asio::basic_yield_context<boost::asio::any_io_executor>)>, bool, rpc::WorkQueue::Priority)::$_0&&, boost::asio::constraint<execution::is_executor<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>> const>::value && can_require<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>> const, boost::asio::execution::detail::blocking::never_t<0>>::value is_executor<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>> const>::value, int>::type) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 2# _ZZN3rpc9WorkQueue15startProcessingEvENK3$_0clIN5boost4asio19basic_yield_contextINS4_6strandINS4_11thread_pool19basic_executor_typeINSt3__19allocatorIvEELj0EEEEEEEEEDaT_ in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 3# boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>::call(boost::asio::basic_yield_context<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>> const&, boost::asio::void_type<void>) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 4# boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>::operator()(boost::asio::detail::spawned_thread_base*) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 5# boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>::operator()(boost::context::fiber&&) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 6# decltype(std::declval<boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&>()(std::declval<boost::context::fiber>())) std::__1::__invoke[abi:ne200100]<boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&, boost::context::fiber>(boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&, boost::context::fiber&&) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 7# std::__1::invoke_result<boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&, boost::context::fiber>::type std::__1::invoke[abi:ne200100]<boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&, boost::context::fiber>(boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>&, boost::context::fiber&&) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 8# boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_fixedsize_stack<boost::context::stack_traits>, boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>>::run(void*) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
 9# void boost::context::detail::fiber_entry<boost::context::detail::fiber_record<boost::context::fiber, boost::context::basic_fixedsize_stack<boost::context::stack_traits>, boost::asio::detail::spawned_fiber_thread::entry_point<boost::asio::detail::spawn_entry_point<boost::asio::strand<boost::asio::thread_pool::basic_executor_type<std::__1::allocator<void>, 0u>>, rpc::WorkQueue::startProcessing()::$_0, util::impl::PropagatingCompletionHandler>>>>(boost::context::detail::transfer_t) in /Users/skuznetsov/Documents/cpp/clio_fork/build/clio_tests
tests/unit/app/WebHandlersTests.cpp|134| ERROR: this mock object (used in test MetricsHandlerTests.Call) should be deleted but never is. Its address is @0xb6ecdde48.
ERROR: 1 leaked mock object found at program exit. Expectations on a mock object are verified when the object is destructed. Leaking a mock means that its expectations aren't verified, which is usually a test bug. If you really intend to leak a mock, you can suppress this error using testing::Mock::AllowLeak(mock_object), or you may use a fake or stub instead of a mock.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    📋 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions