Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
ghx-label-7
Description
TSAN reports the following error in test_query_retries.py.
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3786) Cycle in lock order graph: M17348 (0x7b140035d2d8) => M804309746609755832 (0x000000000000) => M17348 Mutex M804309746609755832 acquired here while holding mutex M17348 in thread T370: #0 AnnotateRWLockAcquired /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc:271 (impalad+0x19bafcc) #1 base::SpinLock::Lock() /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/gutil/spinlock.h:77:5 (impalad+0x1a11585) #2 impala::SpinLock::lock() /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/spinlock.h:34:8 (impalad+0x1a11519) #3 impala::ScopedShardedMapRef<std::shared_ptr<impala::QueryDriver> >::ScopedShardedMapRef(impala::TUniqueId const&, impala::ShardedQueryMap<std::shared_ptr<impala::QueryDriver> >*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/sharded-query-map-util.h:98:23 (impalad+0x2220661) #4 impala::ImpalaServer::GetQueryDriver(impala::TUniqueId const&, bool) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-server.cc:1296:53 (impalad+0x22124ba) #5 impala::QueryDriver::RetryQueryFromThread(impala::Status const&, std::shared_ptr<impala::QueryDriver>) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-driver.cc:279:25 (impalad+0x29dd92c) #6 boost::_mfi::mf2<void, impala::QueryDriver, impala::Status const&, std::shared_ptr<impala::QueryDriver> >::operator()(impala::QueryDriver*, impala::Status const&, std::shared_ptr<impala::QueryDriver>) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:280:29 (impalad+0x29e1669) #7 void boost::_bi::list3<boost::_bi::value<impala::QueryDriver*>, boost::_bi::value<impala::Status>, boost::_bi::value<std::shared_ptr<impala::QueryDriver> > >::operator()<boost::_mfi::mf2<void, impala::QueryDriver, impala::Status const&, std::shared_ptr<impala::QueryDriver> >, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf2<void, impala::QueryDriver, impala::Status const&, std::shared_ptr<impala::QueryDriver> >&, boost::_bi::list0&, int) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:398:9 (impalad+0x29e1578) #8 boost::_bi::bind_t<void, boost::_mfi::mf2<void, impala::QueryDriver, impala::Status const&, std::shared_ptr<impala::QueryDriver> >, boost::_bi::list3<boost::_bi::value<impala::QueryDriver*>, boost::_bi::value<impala::Status>, boost::_bi::value<std::shared_ptr<impala::QueryDriver> > > >::operator()() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (impalad+0x29e14c3) #9 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf2<void, impala::QueryDriver, impala::Status const&, std::shared_ptr<impala::QueryDriver> >, boost::_bi::list3<boost::_bi::value<impala::QueryDriver*>, boost::_bi::value<impala::Status>, boost::_bi::value<std::shared_ptr<impala::QueryDriver> > > >, void>::invoke(boost::detail::function::function_buffer&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11 (impalad+0x29e1221) #10 boost::function0<void>::operator()() const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14 (impalad+0x1e5ba81) #11 impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 (impalad+0x2453776) #12 void boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >::operator()<void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9 (impalad+0x245b93c) #13 boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > >::operator()() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (impalad+0x245b853) #14 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17 (impalad+0x245b540) #15 thread_proxy <null> (impalad+0x3171659) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M17348 acquired here while holding mutex M804309746609755832 in thread T392: #0 AnnotateRWLockAcquired /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interface_ann.cc:271 (impalad+0x19bafcc) #1 base::SpinLock::Lock() /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/gutil/spinlock.h:77:5 (impalad+0x1a11585) #2 impala::SpinLock::lock() /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/spinlock.h:34:8 (impalad+0x1a11519) #3 std::lock_guard<impala::SpinLock>::lock_guard(impala::SpinLock&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/mutex:377:19 (impalad+0x1a11308) #4 impala::QueryDriver::GetActiveClientRequestState() /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-driver.cc:64:24 (impalad+0x29dbce3) #5 impala::ImpalaHttpHandler::InflightQueryIdsHandler(kudu::WebCallbackRegistry::WebRequest const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>*)::$_5::operator()(std::shared_ptr<impala::QueryDriver> const&) const /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-http-handler.cc:332:37 (impalad+0x22c0b86) #6 std::_Function_handler<void (std::shared_ptr<impala::QueryDriver> const&), impala::ImpalaHttpHandler::InflightQueryIdsHandler(kudu::WebCallbackRegistry::WebRequest const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>*)::$_5>::_M_invoke(std::_Any_data const&, std::shared_ptr<impala::QueryDriver> const&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2039:2 (impalad+0x22c0993) #7 std::function<void (std::shared_ptr<impala::QueryDriver> const&)>::operator()(std::shared_ptr<impala::QueryDriver> const&) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/gcc-4.9.2/lib/gcc/x86_64-unknown-linux-gnu/4.9.2/../../../../include/c++/4.9.2/functional:2439:14 (impalad+0x225abf2) #8 impala::ShardedQueryMap<std::shared_ptr<impala::QueryDriver> >::DoFuncForAllEntries(std::function<void (std::shared_ptr<impala::QueryDriver> const&)> const&) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/sharded-query-map-util.h:52:9 (impalad+0x222497a) #9 impala::ImpalaHttpHandler::InflightQueryIdsHandler(kudu::WebCallbackRegistry::WebRequest const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-http-handler.cc:330:30 (impalad+0x22bb057) #10 _ZZN12_GLOBAL__N_112MakeCallbackIN6impala17ImpalaHttpHandlerEMS2_FvRKN4kudu19WebCallbackRegistry10WebRequestEPN9rapidjson15GenericDocumentINS8_4UTF8IcEENS8_19MemoryPoolAllocatorINS8_12CrtAllocatorEEESD_EEEEEN5boost8functionIFvS7_SG_EEEPT_RKT0_ENKUlRKSN_PSP_E_clIS5_SF_EEDaST_SU_ /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-http-handler.cc:74:5 (impalad+0x22bf8d1) #11 _ZN5boost6detail8function26void_function_obj_invoker2IZN12_GLOBAL__N_112MakeCallbackIN6impala17ImpalaHttpHandlerEMS6_FvRKN4kudu19WebCallbackRegistry10WebRequestEPN9rapidjson15GenericDocumentINSC_4UTF8IcEENSC_19MemoryPoolAllocatorINSC_12CrtAllocatorEEESH_EEEEENS_8functionIFvSB_SK_EEEPT_RKT0_EUlRKSQ_PSS_E_vSB_SK_E6invokeERNS1_15function_bufferESB_SK_ /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11 (impalad+0x22bf6bc) #12 boost::function2<void, kudu::WebCallbackRegistry::WebRequest const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>*>::operator()(kudu::WebCallbackRegistry::WebRequest const&, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, rapidjson::CrtAllocator>*) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14 (impalad+0x2464fb0) #13 impala::Webserver::RenderUrlWithTemplate(sq_connection const*, kudu::WebCallbackRegistry::WebRequest const&, impala::Webserver::UrlHandler const&, std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*, impala::ContentType*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:801:3 (impalad+0x246351c) #14 impala::Webserver::BeginRequestCallback(sq_connection*, sq_request_info*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:696:5 (impalad+0x2461eca) #15 impala::Webserver::BeginRequestCallbackStatic(sq_connection*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:554:20 (impalad+0x2460d08) #16 handle_request <null> (impalad+0x24773b9) Thread T38 (tid=5140, finished) created by thread T301 at: #0 pthread_create /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 (impalad+0x199d17b) #1 boost::thread::start_thread_noexcept() <null> (impalad+0x31709e9) #2 boost::thread::thread<void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*>(void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), std::string, std::string, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:420:13 (impalad+0x2455f4b) #3 impala::Thread::StartThread(std::string const&, std::string const&, boost::function<void ()> const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> >*, bool) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:317:13 (impalad+0x2453115) #4 impala::Status impala::Thread::Create<void (impala::QueryDriver::*)(impala::Status const&, std::shared_ptr<impala::QueryDriver>), impala::QueryDriver*, impala::Status, std::shared_ptr<impala::QueryDriver> >(std::string const&, std::string const&, void (impala::QueryDriver::* const&)(impala::Status const&, std::shared_ptr<impala::QueryDriver>), impala::QueryDriver* const&, impala::Status const&, std::shared_ptr<impala::QueryDriver> const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> >*, bool) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.h:97:12 (impalad+0x29df39e) #5 impala::QueryDriver::TryQueryRetry(impala::ClientRequestState*, impala::Status*, bool*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-driver.cc:151:21 (impalad+0x29dc529) #6 impala::ImpalaServer::CancelFromThreadPool(impala::CancellationWork const&) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/impala-server.cc:1606:36 (impalad+0x22078c4) #7 boost::_mfi::mf1<void, impala::ImpalaServer, impala::CancellationWork const&>::operator()(impala::ImpalaServer*, impala::CancellationWork const&) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29 (impalad+0x22397ad) #8 void boost::_bi::list2<boost::_bi::value<impala::ImpalaServer*>, boost::arg<2> >::operator()<boost::_mfi::mf1<void, impala::ImpalaServer, impala::CancellationWork const&>, boost::_bi::rrlist2<int, impala::CancellationWork const&> >(boost::_bi::type<void>, boost::_mfi::mf1<void, impala::ImpalaServer, impala::CancellationWork const&>&, boost::_bi::rrlist2<int, impala::CancellationWork const&>&, int) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9 (impalad+0x22396ff) #9 void boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::ImpalaServer, impala::CancellationWork const&>, boost::_bi::list2<boost::_bi::value<impala::ImpalaServer*>, boost::arg<2> > >::operator()<int, impala::CancellationWork const&>(int&&, impala::CancellationWork const&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1246:16 (impalad+0x22395f3) #10 boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::ImpalaServer, impala::CancellationWork const&>, boost::_bi::list2<boost::_bi::value<impala::ImpalaServer*>, boost::arg<2> > >, void, int, impala::CancellationWork const&>::invoke(boost::detail::function::function_buffer&, int, impala::CancellationWork const&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11 (impalad+0x22393cf) #11 boost::function2<void, int, impala::CancellationWork const&>::operator()(int, impala::CancellationWork const&) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14 (impalad+0x223bece) #12 impala::ThreadPool<impala::CancellationWork>::WorkerThread(int) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread-pool.h:166:9 (impalad+0x223b035) #13 boost::_mfi::mf1<void, impala::ThreadPool<impala::CancellationWork>, int>::operator()(impala::ThreadPool<impala::CancellationWork>*, int) const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29 (impalad+0x223b62d) #14 void boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::CancellationWork>*>, boost::_bi::value<int> >::operator()<boost::_mfi::mf1<void, impala::ThreadPool<impala::CancellationWork>, int>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void, impala::ThreadPool<impala::CancellationWork>, int>&, boost::_bi::list0&, int) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9 (impalad+0x223b56c) #15 boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::ThreadPool<impala::CancellationWork>, int>, boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::CancellationWork>*>, boost::_bi::value<int> > >::operator()() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (impalad+0x223b4d3) #16 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::ThreadPool<impala::CancellationWork>, int>, boost::_bi::list2<boost::_bi::value<impala::ThreadPool<impala::CancellationWork>*>, boost::_bi::value<int> > >, void>::invoke(boost::detail::function::function_buffer&) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11 (impalad+0x223b271) #17 boost::function0<void>::operator()() const /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14 (impalad+0x1e5ba81) #18 impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/thread.cc:360:3 (impalad+0x2453776) #19 void boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >::operator()<void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9 (impalad+0x245b93c) #20 boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > >::operator()() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (impalad+0x245b853) #21 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(std::string const&, std::string const&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> > > >::run() /data/jenkins/workspace/impala-private-parameterized/Impala-Toolchain/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17 (impalad+0x245b540) #22 thread_proxy <null> (impalad+0x3171659) Thread T345 'sq_worker' (tid=5258, running) created by thread T295 at: #0 pthread_create /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 (impalad+0x199d17b) #1 sq_start_thread <null> (impalad+0x246e084)SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/gutil/spinlock.h:77:5 in base::SpinLock::Lock()