Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

warmboot removes "unreferenced" routes and then crashes if it comes back #28

Closed
jaymzh opened this issue Jan 13, 2016 · 1 comment
Closed
Labels

Comments

@jaymzh
Copy link
Contributor

jaymzh commented Jan 13, 2016

When fboss warmboots, the trident will have routes I had previously added with fboss_route.py but list_routes will not show them. A minute later, FBOSS will remove those routes from the trident as "unreferenced" and then any attempt to add them back will cause FBOSS to crash.

I0113 04:56:06.449673  6445 ThreadManager.tcc:336] ThreadManager::add called with numa == true, but not a NumaThreadManager
I0113 04:56:06.450521  6465 SwSwitch.cpp:578] Updating state: old_gen=1 new_gen=2
E0113 04:56:06.475909  6465 SwSwitch.cpp:232] Unable to dump switch state to /var/facebook/fboss/crash/switch_state
F0113 04:56:06.476253  6465 SwSwitch.cpp:612] error applying state change to hardware: N8facebook5fboss8BcmErrorE: failed to create a route entry for fe80::/64 @ TO_CPU @egress 100002: Invalid parameter
*** Check failure stack trace: ***
    @     0x7fe13bc61778  (unknown)
    @     0x7fe13bc616b2  (unknown)
    @     0x7fe13bc610b4  (unknown)
    @     0x7fe13bc64055  (unknown)
    @          0x115d1d1  facebook::fboss::SwSwitch::applyUpdate()
    @          0x115c2f5  facebook::fboss::SwSwitch::handlePendingUpdates()
    @          0x115bf14  facebook::fboss::SwSwitch::handlePendingUpdatesHelper()
    @     0x7fe13b28d909  folly::EventBase::FunctionRunner::messageAvailable()
    @     0x7fe13b28f76e  folly::NotificationQueue<>::Consumer::consumeMessages()
    @     0x7fe1336bc3dc  (unknown)
    @     0x7fe13b28af8f  folly::EventBase::loopBody()
    @     0x7fe13b28b8e4  folly::EventBase::loopForever()
    @          0x115f46e  facebook::fboss::SwSwitch::threadLoop()
    @          0x115f1b5  _ZZN8facebook5fboss8SwSwitch12startThreadsEvENKUlvE0_clEv
    @          0x1163790  _ZNSt12_Bind_simpleIFZN8facebook5fboss8SwSwitch12startThreadsEvEUlvE0_vEE9_M_invokeIIEEEvSt12_Index_tupleIIXspT_EEE
    @          0x1163624  _ZNSt12_Bind_simpleIFZN8facebook5fboss8SwSwitch12startThreadsEvEUlvE0_vEEclEv
    @          0x1163510  _ZNSt6thread5_ImplISt12_Bind_simpleIFZN8facebook5fboss8SwSwitch12startThreadsEvEUlvE0_vEEE6_M_runEv
    @     0x7fe13566a970  (unknown)
    @     0x7fe13ac7b0a4  start_thread
    @     0x7fe134dda04d  (unknown)
    @              (nil)  (unknown)
@oridb oridb added the bug label Jan 21, 2016
@capveg
Copy link

capveg commented May 15, 2017

This should be fixed/working now. As is the build (!!) - check out https://travis-ci.org/facebook/fboss.

Please let me know if you're still having this problem.

@capveg capveg closed this as completed Jun 10, 2018
facebook-github-bot pushed a commit that referenced this issue Mar 14, 2022
Summary:
X-link: facebook/fb303#28

Pull Request resolved: #115

X-link: facebook/folly#1736

X-link: facebook/proxygen#403

X-link: facebook/fbthrift#488

This adds a way to pass arguments to the `b2` build tool, used by Boost. This is needed in order to link a getdeps built boost into an relocatable `.so`. The motivating use case is that we need to statically link Boost into a native library used by a python wheel, which must be relocatable. This functionality already exists for CMake-based projects.

Reviewed By: mackorone

Differential Revision: D34796774

fbshipit-source-id: 0d6a9f4703865dc02048b87e77394c44ef646af6
facebook-github-bot pushed a commit that referenced this issue Aug 16, 2022
…members

Summary:
```
❯ buck test mode/dev-tsan //fboss/facebook/mka_service/mka_module/tests:MKAModuleTest -- --stress-runs 100 --regex MKAModuleTest.WarmBootConfigLoad
...
Summary
  Pass: 78
  Fail: 1
    ✗ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
  Fatal: 21
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ☢ fboss/facebook/mka_service/mka_module/tests:MKAModuleTest - MKAModuleTest.WarmBootConfigLoad
    ...and 11 more not shown...
```
Problem 1:
```
ThreadSanitizer: data race third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.h:926 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::length() const
==================
==================
WARNING: ThreadSanitizer: data race (pid=1286130)
  Read of size 8 at 0x7b84000a3548 by thread T50 (mutexes: write M341564816177216360, read M730281896454009712):
    #0 memcmp <null> (MKAModuleTest+0x26ebb7)
    #1 std::char_traits<char>::compare(char const*, char const*, unsigned long) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/char_traits.h:361 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8931c)
    #2 __gnu_cxx::__enable_if<__is_char<char>::__value, bool>::__type std::operator==<char>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.h:6236 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x89286)
    #3 std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/stl_function.h:356 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x89141)
    #4 std::__detail::_Hashtable_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo>, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::_M_equals(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long, std::__detail::_Hash_node_value<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo>, true> const&) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/hashtable_policy.h:1616 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x88f93)
    #5 std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_before_node(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/hashtable.h:1821 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x88a98)
    #6 std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_find_node(unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned long) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/hashtable.h:795 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x89ed5)
    #7 std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/hashtable.h:1591 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8d553)
    #8 std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, facebook::fboss::PacketStreamService::ClientInfo, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> > >::find(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unordered_map.h:880 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8cf85)
    #9 auto facebook::fboss::PacketStreamService::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, facebook::fboss::TPacket&&)::$_3::operator()<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, facebook::fboss::PacketStreamService::ClientInfo, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> > > const>(std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, facebook::fboss::PacketStreamService::ClientInfo, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> > > const&) const fboss/agent/thrift_packet_stream/PacketStreamService.cpp:71 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8c334)
    #10 auto folly::SynchronizedBase<folly::Synchronized<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, facebook::fboss::PacketStreamService::ClientInfo, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, facebook::fboss::PacketStreamService::ClientInfo> > >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, (folly::detail::SynchronizedMutexLevel)2>::withRLock<facebook::fboss::PacketStreamService::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, facebook::fboss::TPacket&&)::$_3>(facebook::fboss::PacketStreamService::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, facebook::fboss::TPacket&&)::$_3&&) const folly/Synchronized.h:342 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8c254)
    #11 facebook::fboss::PacketStreamService::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, facebook::fboss::TPacket&&) fboss/agent/thrift_packet_stream/PacketStreamService.cpp:70 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x8c1cb)
    #12 facebook::fboss::BidirectionalPacketStream::send(facebook::fboss::TPacket&&) fboss/agent/thrift_packet_stream/BidirectionalPacketStream.cpp:265 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0xb92b0)
    #13 facebook::fboss::AsyncThriftPacketTransport::send(std::unique_ptr<folly::IOBuf, std::default_delete<folly::IOBuf> > const&) fboss/agent/thrift_packet_stream/AsyncThriftPacketTransport.cpp:19 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x6e131)
    #14 auto facebook::fboss::mka::MKASession::timeoutExpired(folly::Synchronized<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >&)::$_8::operator()<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> > >(std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >&) const fboss/facebook/mka_service/mka_module/MKASession.cpp:627 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x15e1c3)
    #15 auto folly::SynchronizedBase<folly::Synchronized<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >, (folly::detail::SynchronizedMutexLevel)2>::withWLock<facebook::fboss::mka::MKASession::timeoutExpired(folly::Synchronized<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >&)::$_8>(facebook::fboss::mka::MKASession::timeoutExpired(folly::Synchronized<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >&)::$_8&&) folly/Synchronized.h:305 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x11c014)
    #16 facebook::fboss::mka::MKASession::timeoutExpired(folly::Synchronized<std::unique_ptr<facebook::fboss::mka::MKAParticipant, std::default_delete<facebook::fboss::mka::MKAParticipant> >, folly::SharedMutexImpl<false, void, std::atomic, folly::SharedMutexPolicyDefault> >&) fboss/facebook/mka_service/mka_module/MKASession.cpp:619 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x11bf1a)
    #17 facebook::fboss::mka::MKASession::timeoutExpired() fboss/facebook/mka_service/mka_module/MKASession.cpp:659 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x11c219)
    #18 facebook::fboss::mka::MKASession::MKASession(facebook::fboss::mka::MKASessionConfig const&, folly::EventBase*, std::unique_ptr<facebook::fboss::AsyncPacketTransport::ReadCallback, std::default_delete<facebook::fboss::AsyncPacketTransport::ReadCallback> >, std::shared_ptr<facebook::fboss::AsyncPacketTransport>, std::shared_ptr<facebook::fboss::mka::MacsecHandler>, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)::$_37::operator()() const fboss/facebook/mka_service/mka_module/MKASession.cpp:133 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x131375)
    #19 folly::detail::async_timeout_wrapper<facebook::fboss::mka::MKASession::MKASession(facebook::fboss::mka::MKASessionConfig const&, folly::EventBase*, std::unique_ptr<facebook::fboss::AsyncPacketTransport::ReadCallback, std::default_delete<facebook::fboss::AsyncPacketTransport::ReadCallback> >, std::shared_ptr<facebook::fboss::AsyncPacketTransport>, std::shared_ptr<facebook::fboss::mka::MacsecHandler>, std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>)::$_37>::timeoutExpired() folly/io/async/AsyncTimeout.h:255 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x13132c)
    #20 folly::AsyncTimeout::libeventCallback(int, short, void*) folly/io/async/AsyncTimeout.cpp:174 (libfolly_io_async_async_base.so+0x41e6b)
    #21 event_process_active /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:390:5 (libevent-1.4.so.2+0x8608)
    #22 event_base_loop /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:532:4 (libevent-1.4.so.2+0x8608)
    #23 folly::EventBase::loopMain(int, bool) folly/io/async/EventBase.cpp:400 (libfolly_io_async_async_base.so+0x49c47)
    #24 folly::EventBase::loopBody(int, bool) folly/io/async/EventBase.cpp:326 (libfolly_io_async_async_base.so+0x4940f)
    #25 folly::EventBase::loop() folly/io/async/EventBase.cpp:305 (libfolly_io_async_async_base.so+0x49298)
    #26 folly::EventBase::loopForever() folly/io/async/EventBase.cpp:545 (libfolly_io_async_async_base.so+0x5c7bf)
    #27 folly::IOThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) folly/executors/IOThreadPoolExecutor.cpp:250 (libfolly_executors_io_thread_pool_executor.so+0x15b72)
    #28 void std::__invoke_impl<void, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:74 (libfolly_executors_thread_pool_executor.so+0x56191)
    #29 std::__invoke_result<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::type std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:96 (libfolly_executors_thread_pool_executor.so+0x55f07)
    #30 void std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::__call<void, 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/functional:420 (libfolly_executors_thread_pool_executor.so+0x55e6a)
    #31 void std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::operator()<void>() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/functional:503 (libfolly_executors_thread_pool_executor.so+0x55dc6)
    #32 void folly::detail::function::FunctionTraits<void ()>::callSmall<std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) folly/Function.h:363 (libfolly_executors_thread_pool_executor.so+0x55a5d)
    #33 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad423)
    #34 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()::operator()() folly/executors/thread_factory/NamedThreadFactory.h:40 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad3bc)
    #35 void std::__invoke_impl<void, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:61 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad34d)
    #36 std::__invoke_result<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>::type std::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:96 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad29d)
    #37 void std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:253 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad245)
    #38 std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> >::operator()() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:260 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad1e5)
    #39 std::thread::_State_impl<std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> > >::_M_run() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:211 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xacf79)
    #40 execute_native_thread_routine <null> (libstdc++.so.6+0xdf2e4)

  Previous write of size 8 at 0x7b84000a3548 by thread T44:
    #0 memcpy <null> (MKAModuleTest+0x26d4b6)
    #1 std::char_traits<char>::copy(char*, char const*, unsigned long) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/char_traits.h:409 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x70881)
    #2 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_copy(char*, char const*, unsigned long) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.h:359 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x703d2)
    #3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.tcc:272 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x6ff46)
    #4 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.h:1386 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x6fe19)
    #5 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator=(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/basic_string.h:680 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x6e7b5)
    #6 facebook::fboss::BidirectionalPacketStream::clientConnected(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) fboss/agent/thrift_packet_stream/BidirectionalPacketStream.cpp:280 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x77e3a)
    #7 facebook::fboss::PacketStreamService::connect(std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) fboss/agent/thrift_packet_stream/PacketStreamService.cpp:59 (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x5aab9)
    #8 virtual thunk to facebook::fboss::PacketStreamService::connect(std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) fboss/agent/thrift_packet_stream/PacketStreamService.cpp (libfboss_agent_thrift_packet_stream_packet_stream_server.so+0x5bf5d)
    #9 apache::thrift::ServiceHandler<facebook::fboss::PacketStream>::semifuture_connect(std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) buck-out/dev/gen/aab7ed39/fboss/agent/if/packet_stream-cpp2-packet_stream.thrift/gen-cpp2/PacketStream.cpp:35 (libfboss_agent_if_packet_stream-cpp2-services.so+0x91d45)
    #10 apache::thrift::ServiceHandler<facebook::fboss::PacketStream>::future_connect(std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) buck-out/dev/gen/aab7ed39/fboss/agent/if/packet_stream-cpp2-packet_stream.thrift/gen-cpp2/PacketStream.cpp:41 (libfboss_agent_if_packet_stream-cpp2-services.so+0x91b8e)
    #11 apache::thrift::ServiceHandler<facebook::fboss::PacketStream>::async_tm_connect(std::unique_ptr<apache::thrift::HandlerCallback<apache::thrift::ServerStream<facebook::fboss::TPacket> >, std::default_delete<apache::thrift::HandlerCallback<apache::thrift::ServerStream<facebook::fboss::TPacket> > > >, std::unique_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::default_delete<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >) buck-out/dev/gen/aab7ed39/fboss/agent/if/packet_stream-cpp2-packet_stream.thrift/gen-cpp2/PacketStream.cpp:60 (libfboss_agent_if_packet_stream-cpp2-services.so+0x8cc76)
    #12 void facebook::fboss::PacketStreamAsyncProcessor::executeRequest_connect<apache::thrift::CompactProtocolReader, apache::thrift::CompactProtocolWriter>(apache::thrift::ServerRequest&&) buck-out/dev/gen/aab7ed39/fboss/agent/if/packet_stream-cpp2-packet_stream.thrift/gen-cpp2/PacketStream.tcc:71 (libfboss_agent_if_packet_stream-cpp2-services.so+0xbdf18)
    #13 void apache::thrift::detail::ap::execute<facebook::fboss::PacketStreamAsyncProcessor>(facebook::fboss::PacketStreamAsyncProcessor*, apache::thrift::ServerRequest&&, apache::thrift::protocol::PROTOCOL_TYPES, apache::thrift::AsyncProcessorFactory::MethodMetadata const&) thrift/lib/cpp2/GeneratedCodeHelper.h:1235 (libfboss_agent_if_packet_stream-cpp2-services.so+0xba361)
    #14 facebook::fboss::PacketStreamAsyncProcessor::executeRequest(apache::thrift::ServerRequest&&, apache::thrift::AsyncProcessorFactory::MethodMetadata const&) buck-out/dev/gen/aab7ed39/fboss/agent/if/packet_stream-cpp2-packet_stream.thrift/gen-cpp2/PacketStream.cpp:295 (libfboss_agent_if_packet_stream-cpp2-services.so+0x9081c)
    #15 apache::thrift::(anonymous namespace)::MultiplexAsyncProcessor::executeRequest(apache::thrift::ServerRequest&&, apache::thrift::AsyncProcessorFactory::MethodMetadata const&) thrift/lib/cpp2/async/MultiplexAsyncProcessor.cpp:332 (libthrift_lib_cpp2_async_multiplex_async_processor.so+0x7f3df)
    #16 apache::thrift::detail::ap::processViaExecuteRequest(apache::thrift::AsyncProcessor*, std::unique_ptr<apache::thrift::ResponseChannelRequest, apache::thrift::RequestsRegistry::Deleter>, apache::thrift::SerializedCompressedRequest&&, apache::thrift::AsyncProcessorFactory::MethodMetadata const&, apache::thrift::protocol::PROTOCOL_TYPES, apache::thrift::Cpp2RequestContext*, apache::thrift::concurrency::ThreadManager*)::'lambda'(bool)::operator()(bool) thrift/lib/cpp2/GeneratedCodeHelper.h:1023 (libthrift_lib_cpp2_server.so+0x385b76)
    #17 apache::thrift::detail::ap::processViaExecuteRequest(apache::thrift::AsyncProcessor*, std::unique_ptr<apache::thrift::ResponseChannelRequest, apache::thrift::RequestsRegistry::Deleter>, apache::thrift::SerializedCompressedRequest&&, apache::thrift::AsyncProcessorFactory::MethodMetadata const&, apache::thrift::protocol::PROTOCOL_TYPES, apache::thrift::Cpp2RequestContext*, apache::thrift::concurrency::ThreadManager*)::'lambda'()::operator()() thrift/lib/cpp2/GeneratedCodeHelper.h:1032 (libthrift_lib_cpp2_server.so+0x385ed7)
    #18 void folly::detail::function::FunctionTraits<void ()>::callBig<apache::thrift::detail::ap::processViaExecuteRequest(apache::thrift::AsyncProcessor*, std::unique_ptr<apache::thrift::ResponseChannelRequest, apache::thrift::RequestsRegistry::Deleter>, apache::thrift::SerializedCompressedRequest&&, apache::thrift::AsyncProcessorFactory::MethodMetadata const&, apache::thrift::protocol::PROTOCOL_TYPES, apache::thrift::Cpp2RequestContext*, apache::thrift::concurrency::ThreadManager*)::'lambda'()>(folly::detail::function::Data&) folly/Function.h:377 (libthrift_lib_cpp2_server.so+0x385d7d)
    #19 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libthrift_lib_cpp_concurrency_thread_manager.so+0x985b3)
    #20 apache::thrift::concurrency::FunctionRunner::run() thrift/lib/cpp/concurrency/FunctionRunner.h:138 (libthrift_lib_cpp_concurrency_thread_manager.so+0x97f1a)
    #21 virtual thunk to apache::thrift::concurrency::FunctionRunner::run() thrift/lib/cpp/concurrency/FunctionRunner.h (libthrift_lib_cpp_concurrency_thread_manager.so+0x98131)
    #22 apache::thrift::concurrency::ThreadManager::Task::run()::'lambda'()::operator()() const thrift/lib/cpp/concurrency/ThreadManager.cpp:178 (libthrift_lib_cpp_concurrency_thread_manager.so+0xb73d9)
    #23 apache::thrift::concurrency::ThreadManager::Task::run() folly/lang/Exception.h:285 (libthrift_lib_cpp_concurrency_thread_manager.so+0xb6a85)
    #24 apache::thrift::concurrency::ThreadManager::Impl::Worker::run() thrift/lib/cpp/concurrency/ThreadManager.cpp:653 (libthrift_lib_cpp_concurrency_thread_manager.so+0xb63b8)
    #25 apache::thrift::concurrency::PthreadThread::threadMain(void*) thrift/lib/cpp/concurrency/PosixThreadFactory.cpp:210 (libthrift_lib_cpp_concurrency_posix_thread_factory.so+0xacd7)

  Location is heap block of size 4736 at 0x7b84000a2800 allocated by main thread:
    #0 operator new(unsigned long, std::align_val_t) <null> (MKAModuleTest+0x202b2b)
    #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/ext/new_allocator.h:125 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb1046)
    #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/allocator.h:197 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb0f09)
    #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/allocated_ptr.h:97 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb0b1e)
    #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(facebook::fboss::BidirectionalPacketStream*&, std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr_base.h:704 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb082c)
    #5 std::__shared_ptr<facebook::fboss::BidirectionalPacketStream, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr_base.h:1398 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb073f)
    #6 std::shared_ptr<facebook::fboss::BidirectionalPacketStream>::shared_ptr<std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:409 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb0617)
    #7 std::shared_ptr<facebook::fboss::BidirectionalPacketStream> std::allocate_shared<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::allocator<facebook::fboss::BidirectionalPacketStream> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:862 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xb0496)
    #8 std::shared_ptr<facebook::fboss::BidirectionalPacketStream> std::make_shared<facebook::fboss::BidirectionalPacketStream, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:878 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa7095)
    #9 facebook::fboss::mka::MKAModule::MKAModule(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, unsigned short, unsigned short, unsigned short, bool) fboss/facebook/mka_service/mka_module/MKAModule.cpp:149 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa5f5a)
    #10 std::_MakeUniq<facebook::fboss::mka::MKAModule>::__single_object std::make_unique<facebook::fboss::mka::MKAModule, bool, char const (&) [12], double const&, unsigned short&, unsigned short, unsigned short, bool&>(bool&&, char const (&) [12], double const&, unsigned short&, unsigned short&&, unsigned short&&, bool&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:962 (MKAModuleTest+0x1dd436)
    #11 MKAModuleTest::startMKAModule(bool) fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:149 (MKAModuleTest+0x1bc348)
    #12 MKAModuleTest_WarmBootConfigLoad_Test::TestBody() fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:466 (MKAModuleTest+0x15e1c7)
    #13 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2682:50 (libgtest.so.1.11.0+0x50f35)
    #14 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2672:6 (libgtest.so.1.11.0+0x50f35)
    #15 main common/gtest/LightMain.cpp:20 (libcommon_gtest_light_main.so+0x2161)

  Mutex M341564816177216360 is already destroyed.

  Mutex M730281896454009712 is already destroyed.

  Thread T50 'MkaIOWorker0' (tid=1291160, running) created by main thread at:
    #0 pthread_create <null> (MKAModuleTest+0x26952d)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xdf5ee)
    #2 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&) folly/executors/thread_factory/NamedThreadFactory.h:37 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xaab23)
    #3 folly::ThreadPoolExecutor::addThreads(unsigned long) folly/executors/ThreadPoolExecutor.cpp:218 (libfolly_executors_thread_pool_executor.so+0x1ed65)
    #4 folly::ThreadPoolExecutor::ensureActiveThreads() folly/executors/ThreadPoolExecutor.cpp:502 (libfolly_executors_thread_pool_executor.so+0x217ab)
    #5 folly::IOThreadPoolExecutor::getEventBase() folly/executors/IOThreadPoolExecutor.cpp:173 (libfolly_executors_io_thread_pool_executor.so+0x163dc)
    #6 facebook::fboss::mka::MKAModule::MKAModule(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, unsigned short, unsigned short, unsigned short, bool) fboss/facebook/mka_service/mka_module/MKAModule.cpp:152 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa5f05)
    #7 std::_MakeUniq<facebook::fboss::mka::MKAModule>::__single_object std::make_unique<facebook::fboss::mka::MKAModule, bool, char const (&) [12], double const&, unsigned short&, unsigned short, unsigned short, bool&>(bool&&, char const (&) [12], double const&, unsigned short&, unsigned short&&, unsigned short&&, bool&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:962 (MKAModuleTest+0x1dd436)
    #8 MKAModuleTest::startMKAModule(bool) fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:149 (MKAModuleTest+0x1bc348)
    #9 MKAModuleTest_WarmBootConfigLoad_Test::TestBody() fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:466 (MKAModuleTest+0x15e1c7)
    #10 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2682:50 (libgtest.so.1.11.0+0x50f35)
    #11 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2672:6 (libgtest.so.1.11.0+0x50f35)
    #12 main common/gtest/LightMain.cpp:20 (libcommon_gtest_light_main.so+0x2161)

  Thread T44 (tid=1291175, running) created by thread T45 at:
    #0 pthread_create <null> (MKAModuleTest+0x26952d)
    #1 apache::thrift::concurrency::PthreadThread::start() thrift/lib/cpp/concurrency/PosixThreadFactory.cpp:110 (libthrift_lib_cpp_concurrency_posix_thread_factory.so+0xbf92)
    #2 apache::thrift::concurrency::ThreadManager::Impl::addWorker(unsigned long) thrift/lib/cpp/concurrency/ThreadManager.cpp:679 (libthrift_lib_cpp_concurrency_thread_manager.so+0x62028)
    #3 apache::thrift::concurrency::(anonymous namespace)::SimpleThreadManagerImpl::start() thrift/lib/cpp/concurrency/ThreadManager.cpp:446 (libthrift_lib_cpp_concurrency_thread_manager.so+0x776c4)
    #4 apache::thrift::ThriftServer::setupThreadManager() thrift/lib/cpp2/server/ThriftServer.cpp:725 (libthrift_lib_cpp2_server.so+0x42a776)
    #5 apache::thrift::ThriftServer::setup() thrift/lib/cpp2/server/ThriftServer.cpp:471 (libthrift_lib_cpp2_server.so+0x4270ba)
    #6 apache::thrift::ThriftServer::serve() thrift/lib/cpp2/server/ThriftServer.cpp:1079 (libthrift_lib_cpp2_server.so+0x43be58)
    #7 apache::thrift::util::ScopedServerThread::Helper::run() thrift/lib/cpp2/util/ScopedServerThread.cpp:186 (libthrift_lib_cpp2_util_scoped_server_thread.so+0x118f9)
    #8 apache::thrift::concurrency::PthreadThread::threadMain(void*) thrift/lib/cpp/concurrency/PosixThreadFactory.cpp:210 (libthrift_lib_cpp_concurrency_posix_thread_factory.so+0xacd7)
```

In BidirectionalPacketStream::send(), we check clientConnected_. Then use connectedClientId_ to send. In BidirectionalPacketStream::clientConnected(), we immediately set clientConnected_ to true. Then store connectedClientId_.  So it's possible for connectedClientId_ to be half baked when send() is using it.

Setting clientConnected_ after connectedClientId_ will make sure we exit send() instead of using half baked members.

Problem 2:
```
==================
WARNING: ThreadSanitizer: data race (pid=1423249)
  Write of size 8 at 0x7b840000bfc0 by thread T44:
    #0 std::__uniq_ptr_impl<apache::thrift::Client<facebook::fboss::PacketStream>, std::default_delete<apache::thrift::Client<facebook::fboss::PacketStream> > >::reset(apache::thrift::Client<facebook::fboss::PacketStream>*) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:180 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x70cc9)
    #1 std::unique_ptr<apache::thrift::Client<facebook::fboss::PacketStream>, std::default_delete<apache::thrift::Client<facebook::fboss::PacketStream> > >::reset(apache::thrift::Client<facebook::fboss::PacketStream>*) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:456 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x8677e)
    #2 facebook::fboss::PacketStreamClient::cancel()::$_5::operator()() const fboss/agent/thrift_packet_stream/PacketStreamClient.cpp:156 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x8670d)
    #3 void folly::detail::function::FunctionTraits<void ()>::callSmall<facebook::fboss::PacketStreamClient::cancel()::$_5>(folly::detail::function::Data&) folly/Function.h:363 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x866bd)
    #4 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfolly_io_async_async_base.so+0x4c4c3)
    #5 folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>)::$_4::operator()() folly/io/async/EventBase.cpp:681 (libfolly_io_async_async_base.so+0x72f02)
    #6 void folly::detail::function::FunctionTraits<void ()>::callBig<folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>)::$_4>(folly::detail::function::Data&) folly/Function.h:377 (libfolly_io_async_async_base.so+0x72d5d)
    #7 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfolly_io_async_async_base.so+0x4c4c3)
    #8 folly::EventBase::FuncRunner::operator()(folly::Function<void ()>) folly/io/async/EventBase.cpp:124 (libfolly_io_async_async_base.so+0x6ecd9)
    #9 folly::AtomicNotificationQueueTaskStatus folly::detail::invokeConsumerWithTask<folly::Function<void ()>, folly::EventBase::FuncRunner&, void, void, void>(folly::EventBase::FuncRunner&, folly::Function<void ()>&&, std::shared_ptr<folly::RequestContext>&&) folly/io/async/AtomicNotificationQueue-inl.h:281 (libfolly_io_async_async_base.so+0x6e45a)
    #10 bool folly::AtomicNotificationQueue<folly::Function<void ()> >::drive<folly::EventBase::FuncRunner&>(folly::EventBase::FuncRunner&) folly/io/async/AtomicNotificationQueue-inl.h:339 (libfolly_io_async_async_base.so+0x6e066)
    #11 bool folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::drive<folly::EventBase::FuncRunner&>(folly::EventBase::FuncRunner&) folly/io/async/EventBaseAtomicNotificationQueue-inl.h:250 (libfolly_io_async_async_base.so+0x6d9cf)
    #12 folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::execute() folly/io/async/EventBaseAtomicNotificationQueue-inl.h:269 (libfolly_io_async_async_base.so+0x4c747)
    #13 folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::handlerReady(unsigned short) folly/io/async/EventBaseAtomicNotificationQueue-inl.h:261 (libfolly_io_async_async_base.so+0x78194)
    #14 non-virtual thunk to folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::handlerReady(unsigned short) folly/io/async/EventBaseAtomicNotificationQueue.h (libfolly_io_async_async_base.so+0x7826c)
    #15 folly::EventHandler::libeventCallback(int, short, void*) folly/io/async/EventHandler.cpp:159 (libfolly_io_async_async_base.so+0x84b78)
    #16 event_process_active /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:390:5 (libevent-1.4.so.2+0x8608)
    #17 event_base_loop /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:532:4 (libevent-1.4.so.2+0x8608)
    #18 folly::EventBase::loopMain(int, bool) folly/io/async/EventBase.cpp:400 (libfolly_io_async_async_base.so+0x49c47)
    #19 folly::EventBase::loopBody(int, bool) folly/io/async/EventBase.cpp:326 (libfolly_io_async_async_base.so+0x4940f)
    #20 folly::EventBase::loop() folly/io/async/EventBase.cpp:305 (libfolly_io_async_async_base.so+0x49298)
    #21 folly::EventBase::loopForever() folly/io/async/EventBase.cpp:545 (libfolly_io_async_async_base.so+0x5c7bf)
    #22 folly::run(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&) folly/io/async/ScopedEventBaseThread.cpp:40 (libfolly_io_async_scoped_event_base_thread.so+0x8b78)
    #23 void std::__invoke_impl<void, void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> >(std::__invoke_other, void (*&&)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*&&, folly::EventBase*&&, folly::Baton<true, std::atomic>*&&, folly::Range<char const*>&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:61 (libfolly_io_async_scoped_event_base_thread.so+0x101e0)
    #24 std::__invoke_result<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> >::type std::__invoke<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> >(void (*&&)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*&&, folly::EventBase*&&, folly::Baton<true, std::atomic>*&&, folly::Range<char const*>&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:96 (libfolly_io_async_scoped_event_base_thread.so+0xff14)
    #25 void std::thread::_Invoker<std::tuple<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> > >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:253 (libfolly_io_async_scoped_event_base_thread.so+0xfe4d)
    #26 std::thread::_Invoker<std::tuple<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> > >::operator()() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:260 (libfolly_io_async_scoped_event_base_thread.so+0xfd85)
    #27 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> const&), folly::EventBaseManager*, folly::EventBase*, folly::Baton<true, std::atomic>*, folly::Range<char const*> > > >::_M_run() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:211 (libfolly_io_async_scoped_event_base_thread.so+0xf759)
    #28 execute_native_thread_routine <null> (libstdc++.so.6+0xdf2e4)

  Previous read of size 8 at 0x7b840000bfc0 by thread T43:
    #0 std::__uniq_ptr_impl<apache::thrift::Client<facebook::fboss::PacketStream>, std::default_delete<apache::thrift::Client<facebook::fboss::PacketStream> > >::_M_ptr() const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:173 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x6e211)
    #1 std::unique_ptr<apache::thrift::Client<facebook::fboss::PacketStream>, std::default_delete<apache::thrift::Client<facebook::fboss::PacketStream> > >::get() const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:422 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x6e1b5)
    #2 std::unique_ptr<apache::thrift::Client<facebook::fboss::PacketStream>, std::default_delete<apache::thrift::Client<facebook::fboss::PacketStream> > >::operator bool() const third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:436 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x33fb5)
    #3 facebook::fboss::PacketStreamClient::isConnectedToServer() fboss/agent/thrift_packet_stream/PacketStreamClient.cpp:29 (libfboss_agent_thrift_packet_stream_packet_stream_client.so+0x33e41)
    #4 facebook::fboss::BidirectionalPacketStream::close(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) fboss/agent/thrift_packet_stream/BidirectionalPacketStream.cpp:208 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0xb5378)
    #5 facebook::fboss::AsyncThriftPacketTransport::close() fboss/agent/thrift_packet_stream/AsyncThriftPacketTransport.cpp:27 (libfboss_agent_thrift_packet_stream_bidirectional_packet_stream.so+0x6e543)
    #6 facebook::fboss::mka::MKASession::stop()::$_0::operator()() const fboss/facebook/mka_service/mka_module/MKASession.cpp:149 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x157127)
    #7 void folly::detail::function::FunctionTraits<void ()>::callSmall<facebook::fboss::mka::MKASession::stop()::$_0>(folly::detail::function::Data&) folly/Function.h:363 (libfboss_facebook_mka_service_mka_module_mka_module.so+0x15704d)
    #8 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfolly_io_async_async_base.so+0x4c4c3)
    #9 folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>)::$_4::operator()() folly/io/async/EventBase.cpp:681 (libfolly_io_async_async_base.so+0x72f02)
    #10 void folly::detail::function::FunctionTraits<void ()>::callBig<folly::EventBase::runInEventBaseThreadAndWait(folly::Function<void ()>)::$_4>(folly::detail::function::Data&) folly/Function.h:377 (libfolly_io_async_async_base.so+0x72d5d)
    #11 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfolly_io_async_async_base.so+0x4c4c3)
    #12 folly::EventBase::FuncRunner::operator()(folly::Function<void ()>) folly/io/async/EventBase.cpp:124 (libfolly_io_async_async_base.so+0x6ecd9)
    #13 folly::AtomicNotificationQueueTaskStatus folly::detail::invokeConsumerWithTask<folly::Function<void ()>, folly::EventBase::FuncRunner&, void, void, void>(folly::EventBase::FuncRunner&, folly::Function<void ()>&&, std::shared_ptr<folly::RequestContext>&&) folly/io/async/AtomicNotificationQueue-inl.h:281 (libfolly_io_async_async_base.so+0x6e45a)
    #14 bool folly::AtomicNotificationQueue<folly::Function<void ()> >::drive<folly::EventBase::FuncRunner&>(folly::EventBase::FuncRunner&) folly/io/async/AtomicNotificationQueue-inl.h:339 (libfolly_io_async_async_base.so+0x6e066)
    #15 bool folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::drive<folly::EventBase::FuncRunner&>(folly::EventBase::FuncRunner&) folly/io/async/EventBaseAtomicNotificationQueue-inl.h:250 (libfolly_io_async_async_base.so+0x6d9cf)
    #16 folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::execute() folly/io/async/EventBaseAtomicNotificationQueue-inl.h:269 (libfolly_io_async_async_base.so+0x4c747)
    #17 folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::handlerReady(unsigned short) folly/io/async/EventBaseAtomicNotificationQueue-inl.h:261 (libfolly_io_async_async_base.so+0x78194)
    #18 non-virtual thunk to folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::handlerReady(unsigned short) folly/io/async/EventBaseAtomicNotificationQueue.h (libfolly_io_async_async_base.so+0x7826c)
    #19 folly::EventHandler::libeventCallback(int, short, void*) folly/io/async/EventHandler.cpp:159 (libfolly_io_async_async_base.so+0x84b78)
    #20 event_process_active /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:390:5 (libevent-1.4.so.2+0x8608)
    #21 event_base_loop /home/engshare/third-party2/libevent/1.4.14b_hphp/src/libevent-1.4.14b-stable/event.c:532:4 (libevent-1.4.so.2+0x8608)
    #22 folly::EventBase::loopMain(int, bool) folly/io/async/EventBase.cpp:400 (libfolly_io_async_async_base.so+0x49c47)
    #23 folly::EventBase::loopBody(int, bool) folly/io/async/EventBase.cpp:326 (libfolly_io_async_async_base.so+0x4940f)
    #24 folly::EventBase::loop() folly/io/async/EventBase.cpp:305 (libfolly_io_async_async_base.so+0x49298)
    #25 folly::EventBase::loopForever() folly/io/async/EventBase.cpp:545 (libfolly_io_async_async_base.so+0x5c7bf)
    #26 folly::IOThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) folly/executors/IOThreadPoolExecutor.cpp:250 (libfolly_executors_io_thread_pool_executor.so+0x15b72)
    #27 void std::__invoke_impl<void, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(std::__invoke_memfun_deref, void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:74 (libfolly_executors_thread_pool_executor.so+0x56191)
    #28 std::__invoke_result<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::type std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*&, std::shared_ptr<folly::ThreadPoolExecutor::Thread>&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:96 (libfolly_executors_thread_pool_executor.so+0x55f07)
    #29 void std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::__call<void, 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/functional:420 (libfolly_executors_thread_pool_executor.so+0x55e6a)
    #30 void std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)>::operator()<void>() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/functional:503 (libfolly_executors_thread_pool_executor.so+0x55dc6)
    #31 void folly::detail::function::FunctionTraits<void ()>::callSmall<std::_Bind<void (folly::ThreadPoolExecutor::* (folly::ThreadPoolExecutor*, std::shared_ptr<folly::ThreadPoolExecutor::Thread>))(std::shared_ptr<folly::ThreadPoolExecutor::Thread>)> >(folly::detail::function::Data&) folly/Function.h:363 (libfolly_executors_thread_pool_executor.so+0x55a5d)
    #32 folly::detail::function::FunctionTraits<void ()>::operator()() folly/Function.h:392 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa9603)
    #33 folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()::operator()() folly/executors/thread_factory/NamedThreadFactory.h:40 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa959c)
    #34 void std::__invoke_impl<void, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(std::__invoke_other, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:61 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa952d)
    #35 std::__invoke_result<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>::type std::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()&&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/invoke.h:96 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa947d)
    #36 void std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:253 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa9425)
    #37 std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> >::operator()() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:260 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa93c5)
    #38 std::thread::_State_impl<std::thread::_Invoker<std::tuple<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()> > >::_M_run() third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/std_thread.h:211 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa9159)
    #39 execute_native_thread_routine <null> (libstdc++.so.6+0xdf2e4)

  Location is heap block of size 4736 at 0x7b840000b400 allocated by main thread:
    #0 operator new(unsigned long, std::align_val_t) <null> (MKAModuleTest+0x1c960b)
    #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/ext/new_allocator.h:125 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xad076)
    #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/allocator.h:197 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xacf39)
    #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, (__gnu_cxx::_Lock_policy)2> >&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/allocated_ptr.h:97 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xacb4e)
    #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(facebook::fboss::BidirectionalPacketStream*&, std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr_base.h:704 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xac85c)
    #5 std::__shared_ptr<facebook::fboss::BidirectionalPacketStream, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr_base.h:1398 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xac76f)
    #6 std::shared_ptr<facebook::fboss::BidirectionalPacketStream>::shared_ptr<std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::_Sp_alloc_shared_tag<std::allocator<facebook::fboss::BidirectionalPacketStream> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:409 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xac647)
    #7 std::shared_ptr<facebook::fboss::BidirectionalPacketStream> std::allocate_shared<facebook::fboss::BidirectionalPacketStream, std::allocator<facebook::fboss::BidirectionalPacketStream>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::allocator<facebook::fboss::BidirectionalPacketStream> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:862 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xac4c6)
    #8 std::shared_ptr<facebook::fboss::BidirectionalPacketStream> std::make_shared<facebook::fboss::BidirectionalPacketStream, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*, folly::EventBase*, double&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, folly::EventBase*&&, folly::EventBase*&&, double&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/shared_ptr.h:878 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa34b5)
    #9 facebook::fboss::mka::MKAModule::MKAModule(bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, double, unsigned short, unsigned short, unsigned short, bool) fboss/facebook/mka_service/mka_module/MKAModule.cpp:149 (libfboss_facebook_mka_service_mka_module_mka_module.so+0xa24c0)
    #10 std::_MakeUniq<facebook::fboss::mka::MKAModule>::__single_object std::make_unique<facebook::fboss::mka::MKAModule, bool, char const (&) [12], double const&, unsigned short&, unsigned short, unsigned short, bool&>(bool&&, char const (&) [12], double const&, unsigned short&, unsigned short&&, unsigned short&&, bool&) third-party-buck/platform010-compat/build/libgcc/include/c++/trunk/bits/unique_ptr.h:962 (MKAModuleTest+0x1b7f66)
    #11 MKAModuleTest::startMKAModule(bool) fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:129 (MKAModuleTest+0x194ff8)
    #12 MKAModuleTest::SetUp() fboss/facebook/mka_service/mka_module/tests/MKAModuleTest.cpp:178 (MKAModuleTest+0x14158c)
    #13 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2677:48 (libgtest.so.1.11.0+0x50eb8)
    #14 testing::Test::Run() /home/engshare/third-party2/googletest/1.11.0/src/googletest/googletest/src/gtest.cc:2672:6 (libgtest.so.1.11.0+0x50eb8)
    #15 main common/gtest/LightMain.cpp:20 (libcommon_gtest_light_main.so+0x2161)

  Thread T44 'mka_service' (tid=1424413, running) created by main thread at:
    #0 pthread_create <null> (MKAModuleTest+0x23000d)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xdf5ee)
    #2 folly::ScopedEventBaseThread::ScopedEventBaseThread(folly::EventBase::Options, folly::EventBaseManager*, folly::Range<char const*>) folly/io/async/ScopedEventBaseThread.cpp:68 (libfolly_io_async_scoped_event_base_thread.so+0x86f4)
    #3 folly::ScopedEventBaseThread::ScopedEventBaseThread(folly::EventBaseManager*, folly::Range<char const*>) folly/io/async/ScopedEventBaseThread.cpp:60 (…
arajeev-ARISTA pushed a commit to arajeev-ARISTA/fboss that referenced this issue Sep 26, 2023
…ripts

Script for generating FBOSS platform mapping for Viper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants