facebook / flipper

A desktop debugging platform for mobile developers.
https://fbflipper.com/
MIT License
13.32k stars 954 forks source link

Invalid address crash on flipper socket creation #4130

Open renchiyansc opened 1 year ago

renchiyansc commented 1 year ago

🐛 Bug Report

Thanks for providing and supporting flipper, it greatly improved our debuggability.

One thing we noticed is we sometime hit the following crash when we try to create socket on iOS. It seems the variables we try to move (endpoint, payload) has invalid address, but I could not figure out why. The endpoint/payload are created in synchronize manner and should have valid address and never been moved before? Please keep me honest.

We are using version 0.153 (https://github.com/facebook/flipper/commit/6b4c1db5fa79f846fc75ea510ce1c9b6e75e93d2) Any feedback is appreciated, thanks.

Bad Memory Access: Segmentation fault (SIGSEGV)
Access to an invalid memory address. The address exist, but your program does not have access to it.

1 | FlipperKit |   | facebook::flipper::FlipperSocketProvider::socketCreate(facebook::flipper::FlipperConnectionEndpoint, std::__1::unique_ptr<facebook::flipper::FlipperSocketBasePayload, std::__1::default_delete<facebook::flipper::FlipperSocketBasePayload> >, facebook::flipper::Scheduler*) at FlipperSocketProvider.cpp:25
2 | FlipperKit |   | facebook::flipper::FlipperSocketProvider::socketCreate(facebook::flipper::FlipperConnectionEndpoint, std::__1::unique_ptr<facebook::flipper::FlipperSocketBasePayload, std::__1::default_delete<facebook::flipper::FlipperSocketBasePayload> >, facebook::flipper::Scheduler*) at FlipperSocketProvider.cpp:25
3 | FlipperKit |   | facebook::flipper::FlipperConnectionManagerImpl::connectAndExchangeCertificate() at FlipperConnectionManagerImpl.cpp:209
4 | FlipperKit |   | facebook::flipper::FlipperConnectionManagerImpl::startSync() at FlipperConnectionManagerImpl.cpp:159
5 | FlipperKit |   | facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2::operator()() const at FlipperConnectionManagerImpl.cpp:299
6 | FlipperKit |   | std::__1::__invoke<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2&, >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2&, &&) at type_traits:3918
7 | FlipperKit |   | std::__1::__invoke_void_return_wrapper<void, true>::__call<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2&>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2&) at invoke.h:61
8 | FlipperKit |   | std::__1::__function::__alloc_func<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2, std::__1::allocator<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2>, void ()>::operator()() at function.h:178
9 | FlipperKit |   | std::__1::__function::__func<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2, std::__1::allocator<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_2>, void ()>::operator()() at function.h:352
10 | FlipperKit |   | std::__1::__function::__value_func<void ()>::operator()() const at function.h:505
11 | FlipperKit |   | std::__1::function<void ()>::operator()() const at function.h:1182
12 | FlipperKit |   | facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}::operator()<folly::Unit>(folly::Unit&&) const at FlipperFollyScopedThreadScheduler.h:28
13 | FlipperKit |   | folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(folly::Try<folly::Unit>&&, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1})::{lambda()#1}::operator()() const at Future-inl.h:88
14 | FlipperKit |   | folly::futures::detail::InvokeResultWrapper<void>::wrapResult<folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(folly::Try<folly::Unit>&&, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1})::{lambda()#1}>(folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(folly::Try<folly::Unit>&&, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1})::{lambda()#1}) at Future-inl.h:80
15 | FlipperKit |   | folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(folly::Try<folly::Unit>&&, facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) at Future-inl.h:98
16 | FlipperKit |   | folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) at Future-inl.h:1004
17 | FlipperKit |   | folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}>::invoke<folly::Executor::KeepAlive<folly::Executor>, folly::Try<folly::Unit> >(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>) at Future-inl.h:134
18 | FlipperKit |   | folly::futures::detail::detail_msvc_15_7_workaround::invoke<folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}>, folly::Unit, 0>(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}>&, folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) at Future-inl.h:326
19 | FlipperKit |   | folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::{lambda()#1}::operator()() const at Future-inl.h:402
20 | FlipperKit |   | _ZN5folly11makeTryWithIZZNS_7futures6detail10FutureBaseINS_4UnitEE18thenImplementationIZNOS_6FutureIS4_E9thenValueIZN8facebook7flipper26FollyScopedThreadScheduler13scheduleAfterEONSt3__18functionIFvvEEEjEUlOT_E_EENS7_INS2_19valueCallableResultIS4_SI_E10value_typeEEESJ_EUlONS_8Executor9KeepAliveISP_EEONS_3TryIS4_EEE_NS2_25tryExecutorCallableResultIS4_SW_vEEEENSD_9enable_ifIXntsrNT0_13ReturnsFutureE5valueENS10_6ReturnEE4typeESJ_S10_NS2_18InlineContinuationEENUlSS_SV_E_clESS_SV_EUlvE_EENSZ_IXsr5isTryINS_13invoke_detail6traitsISI_E6resultIEEEE5valueES1B_E4typeESJ_ at Try-inl.h:292
21 | FlipperKit |   | folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) at Future-inl.h:401
22 | FlipperKit |   | folly::futures::detail::Core<folly::Unit>::setCallback<folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}>(folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, std::__1::shared_ptr<folly::RequestContext>&&, folly::futures::detail::InlineContinuation)::{lambda(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)#1}::operator()(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*) at Core.h:583
23 | FlipperKit |   | folly::detail::function::FunctionTraits<void (folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>::callSmall<folly::futures::detail::Core<folly::Unit>::setCallback<folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}>(folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void> >(folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::Unit>::thenValue<facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}>(facebook::flipper::FollyScopedThreadScheduler::scheduleAfter(std::__1::function<void ()>&&, unsigned int)::{lambda(auto:1&&)#1}) &&::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, void>, folly::futures::detail::InlineContinuation)::{lambda(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)#1}, std::__1::shared_ptr<folly::RequestContext>&&, folly::futures::detail::InlineContinuation)::{lambda(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)#1}>(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*, folly::detail::function::Data&) at Function.h:371
24 | FlipperKit |   | folly::detail::function::FunctionTraits<void (folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>::operator()(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*) at Function.h:400
25 | FlipperKit |   | folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0::operator()(folly::Executor::KeepAlive<folly::Executor>&&) at Core.cpp:533
26 | FlipperKit |   | folly::Executor::KeepAlive<folly::Executor>::add<folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0>(folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0&&) &&::{lambda()#1}::operator()() at Executor.h:188
27 | FlipperKit |   | folly::detail::function::FunctionTraits<void ()>::callSmall<folly::Executor::KeepAlive<folly::Executor>::add<folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0>(folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0&&) &&::{lambda()#1}>(folly::detail::function::Data&) at Function.h:376
28 | FlipperKit |   | folly::detail::function::FunctionTraits<void ()>::operator()() at Function.h:400
29 | FlipperKit |   | folly::EventBase::FunctionLoopCallback::runLoopCallback() at EventBase.h:188
30 | FlipperKit |   | folly::EventBase::runLoopCallbacks(boost::intrusive::list<folly::EventBase::LoopCallback, boost::intrusive::constant_time_size<false> >&) at EventBase.cpp:650
31 | FlipperKit |   | folly::EventBase::runLoopCallbacks() at EventBase.cpp:669
32 | FlipperKit |   | folly::EventBase::loopBody(int, bool) at EventBase.cpp:364
33 | FlipperKit |   | folly::EventBase::loop() at EventBase.cpp:283
34 | FlipperKit |   | folly::EventBase::loopForever() at EventBase.cpp:497
35 | FlipperKit |   | folly::run(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&) at ScopedEventBaseThread.cpp:40
36 | FlipperKit |   | std::__1::__invoke<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> >(void (*&&)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*>&&) at type_traits:3918
37 | FlipperKit |   | std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*>, (unsigned long)2, (unsigned long)3, (unsigned long)4, (unsigned long)5>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> >&, std::__1::__tuple_indices<((unsigned long)2, (unsigned long)3, (unsigned long)4, (unsigned long)5)...>) at thread:287
38 | FlipperKit |   | std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> > >(void*) at thread:298
39 | libsystem_pthread.dylib |   | _pthread_start

To Reproduce

Have not found a stable repro steps. But seems all the crashes happen on reconnect(), meaning first attempt did not was not successful

Environment

saimon-moore commented 1 year ago

I'm still getting the same error (M1 mac: Ventura 13.2.1 (22D68), flipper version: 0.188.0 (50.0.0)):

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Codes: 0x0000000000000001, 0x0000000000000000
VM Region Info: 0 is not in any region.  Bytes before following region: 4334682112
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      __TEXT                   1025e0000-102f24000 [ 9488K] r-x/r-x SM=COW  ...p/MnemeMobile
Triggered by Thread:  9
Thread 9 Crashed:
0   MnemeMobile                            0x1026777a4 facebook::flipper::FlipperSocketProvider::socketCreate(facebook::flipper::FlipperConnectionEndpoint, std::__1::unique_ptr<facebook::flipper::FlipperSocketBasePayload, std::__1::default_delete<facebook::flipper::FlipperSocketBasePayload> >, folly::EventBase*) + 100
1   MnemeMobile                            0x102677790 facebook::flipper::FlipperSocketProvider::socketCreate(facebook::flipper::FlipperConnectionEndpoint, std::__1::unique_ptr<facebook::flipper::FlipperSocketBasePayload, std::__1::default_delete<facebook::flipper::FlipperSocketBasePayload> >, folly::EventBase*) + 80
2   MnemeMobile                            0x102644c10 facebook::flipper::FlipperConnectionManagerImpl::connectAndExchangeCertificate() + 492
3   MnemeMobile                            0x102644474 facebook::flipper::FlipperConnectionManagerImpl::startSync() + 412
4   MnemeMobile                            0x102658050 auto facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1::operator()<folly::Unit>(folly::Unit&&) const + 32
5   MnemeMobile                            0x102658024 auto folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(folly::Try<folly::Unit>&&, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&)::'lambda'()::operator()() const + 48
6   MnemeMobile                            0x102657fd8 folly::Unit<folly::Unit> folly::futures::detail::InvokeResultWrapper<void>::wrapResult<auto folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(folly::Try<folly::Unit>&&, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&)::'lambda'()>(folly::Try<folly::Unit>) + 44
7   MnemeMobile                            0x102657f9c auto folly::futures::detail::wrapInvoke<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(folly::Try<folly::Unit>&&, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) + 104
8   MnemeMobile                            0x102657f28 folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) + 44
9   MnemeMobile                            0x102657ef0 auto folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)>::invoke<folly::Executor::KeepAlive<folly::Executor>, folly::Try<folly::Unit> >(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) + 108
10  MnemeMobile                            0x102657e78 decltype(auto) folly::futures::detail::detail_msvc_15_7_workaround::invoke<folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)>, folly::Unit, 0>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1, folly::futures::detail::CoreCallbackState<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)>&, folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) + 76
11  MnemeMobile                            0x102657e20 std::__1::enable_if<!(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::ReturnsFuture::value), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void> >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::'lambda'()::operator()() const + 44
12  MnemeMobile                            0x102657d24 std::__1::enable_if<isTry<folly::invoke_detail::traits<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::result<> >::value, folly::invoke_detail::traits<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::result<> >::type folly::makeTryWith<std::__1::enable_if<!(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::ReturnsFuture::value), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void> >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::'lambda'()>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) + 36
13  MnemeMobile                            0x102657c20 std::__1::enable_if<!(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::ReturnsFuture::value), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void> >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&) + 80
14  MnemeMobile                            0x102657bc4 void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<!(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::ReturnsFuture::value), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void> >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, std::__1::shared_ptr<folly::RequestContext>&&, folly::futures::detail::InlineContinuation)::'lambda'(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)::operator()(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*) + 152
15  MnemeMobile                            0x102657a64 void folly::detail::function::FunctionTraits<void (folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>::callSmall<void folly::futures::detail::Core<folly::Unit>::setCallback<std::__1::enable_if<!(folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::ReturnsFuture::value), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>::Return>::type folly::futures::detail::FutureBase<folly::Unit>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void> >(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, folly::futures::detail::tryExecutorCallableResult<folly::Unit, folly::Future<folly::futures::detail::valueCallableResult<folly::Unit, facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>::value_type> folly::Future<folly::Unit>::thenValue<facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<folly::Unit>&&)>(facebook::flipper::FlipperConnectionManagerImpl::reconnect()::$_1&&, std::__1::shared_ptr<folly::RequestContext>&&, folly::futures::detail::InlineContinuation)::'lambda'(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*, folly::detail::function::Data&) + 56
16  MnemeMobile                            0x1027266f8 folly::detail::function::FunctionTraits<void (folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)>::operator()(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*) + 64
17  MnemeMobile                            0x102726f6c folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0::operator()(folly::Executor::KeepAlive<folly::Executor>&&) + 92
18  MnemeMobile                            0x102727534 void folly::Executor::KeepAlive<folly::Executor>::add<folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0>(folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0&&) &&::'lambda'()::operator()() + 32
19  MnemeMobile                            0x102727438 void folly::detail::function::FunctionTraits<void ()>::callSmall<void folly::Executor::KeepAlive<folly::Executor>::add<folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0>(folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0&&) &&::'lambda'()>(folly::detail::function::Data&) + 32
20  MnemeMobile                            0x102754958 folly::detail::function::FunctionTraits<void ()>::operator()() + 40
21  MnemeMobile                            0x102758be8 folly::EventBase::FunctionLoopCallback::runLoopCallback() + 32
22  MnemeMobile                            0x102754424 folly::EventBase::runLoopCallbacks(boost::intrusive::list<folly::EventBase::LoopCallback, boost::intrusive::constant_time_size<false> >&) + 124
23  MnemeMobile                            0x102751d9c folly::EventBase::runLoopCallbacks() + 100
24  MnemeMobile                            0x102753240 folly::EventBase::loopBody(int, bool) + 1568
25  MnemeMobile                            0x102752bdc folly::EventBase::loop() + 96
26  MnemeMobile                            0x102754ddc folly::EventBase::loopForever() + 96
27  MnemeMobile                            0x10284bb8c folly::run(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&) + 120
28  MnemeMobile                            0x10284fd20 decltype(std::declval<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&)>()(std::declval<folly::EventBaseManager*>(), std::declval<folly::EventBase*>(), std::declval<folly::Baton<true, std::__1::atomic>*>(), std::declval<folly::Range<char const*> >())) std::__1::__invoke[abi:v15006]<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> >(void (*&&)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*&&, folly::EventBase*&&, folly::Baton<true, std::__1::atomic>*&&, folly::Range<char const*>&&) + 72
29  MnemeMobile                            0x10284fc8c void std::__1::__thread_execute[abi:v15006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*>, 2ul, 3ul, 4ul, 5ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> >&, std::__1::__tuple_indices<2ul, 3ul, 4ul, 5ul>) + 96
30  MnemeMobile                            0x10284f48c void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::__1::atomic>*, folly::Range<char const*> > >(void*) + 84
31  libsystem_pthread.dylib                0x1d8f946cc _pthread_start + 148
32  libsystem_pthread.dylib                0x1d8f93ba4 thread_start + 8
MayXia1 commented 12 months ago

same error