[jira] [Created] (IMPALA-9855) TSAN lock-order-inversion warning in QueryDriver::RetryQueryFromThread

2020-06-12 Thread Sahil Takiar (Jira)
Sahil Takiar created IMPALA-9855:


 Summary: TSAN lock-order-inversion warning in 
QueryDriver::RetryQueryFromThread
 Key: IMPALA-9855
 URL: https://issues.apache.org/jira/browse/IMPALA-9855
 Project: IMPALA
  Issue Type: Sub-task
  Components: Backend
Reporter: Sahil Takiar
Assignee: Sahil Takiar


TSAN reports the following error in {{test_query_retries.py}}.
{code:java}
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3786)
  Cycle in lock order graph: M17348 (0x7b140035d2d8) => M804309746609755832 
(0x) => 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 
>::ScopedShardedMapRef(impala::TUniqueId const&, 
impala::ShardedQueryMap >*) 
/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) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-driver.cc:279:25
 (impalad+0x29dd92c)
#6 boost::_mfi::mf2 >::operator()(impala::QueryDriver*, 
impala::Status const&, std::shared_ptr) 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, 
boost::_bi::value > 
>::operator() >, 
boost::_bi::list0>(boost::_bi::type, boost::_mfi::mf2 >&, 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 >, 
boost::_bi::list3, 
boost::_bi::value, 
boost::_bi::value > > >::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::list3, 
boost::_bi::value, 
boost::_bi::value > > >, 
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::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, impala::ThreadDebugInfo const*, impala::Promise*) 
/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, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> 
>::operator(), impala::ThreadDebugInfo const*, impala::Promise*), boost::_bi::list0>(boost::_bi::type, void 
(*&)(std::string const&, std::string const&, boost::function, 
impala::ThreadDebugInfo const*, impala::Promise*), 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, impala::ThreadDebugInfo const*, 
impala::Promise*), 
boost::_bi::list5, 
boost::_bi::value, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> > 
>::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, 
impala::ThreadDebugInfo const*, impala::Promise*), boost::_bi::list5, 
boost::_bi::value, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> > > >::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  (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 

[jira] [Created] (IMPALA-9855) TSAN lock-order-inversion warning in QueryDriver::RetryQueryFromThread

2020-06-12 Thread Sahil Takiar (Jira)
Sahil Takiar created IMPALA-9855:


 Summary: TSAN lock-order-inversion warning in 
QueryDriver::RetryQueryFromThread
 Key: IMPALA-9855
 URL: https://issues.apache.org/jira/browse/IMPALA-9855
 Project: IMPALA
  Issue Type: Sub-task
  Components: Backend
Reporter: Sahil Takiar
Assignee: Sahil Takiar


TSAN reports the following error in {{test_query_retries.py}}.
{code:java}
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=3786)
  Cycle in lock order graph: M17348 (0x7b140035d2d8) => M804309746609755832 
(0x) => 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 
>::ScopedShardedMapRef(impala::TUniqueId const&, 
impala::ShardedQueryMap >*) 
/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) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/runtime/query-driver.cc:279:25
 (impalad+0x29dd92c)
#6 boost::_mfi::mf2 >::operator()(impala::QueryDriver*, 
impala::Status const&, std::shared_ptr) 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, 
boost::_bi::value > 
>::operator() >, 
boost::_bi::list0>(boost::_bi::type, boost::_mfi::mf2 >&, 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 >, 
boost::_bi::list3, 
boost::_bi::value, 
boost::_bi::value > > >::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::list3, 
boost::_bi::value, 
boost::_bi::value > > >, 
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::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, impala::ThreadDebugInfo const*, impala::Promise*) 
/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, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> 
>::operator(), impala::ThreadDebugInfo const*, impala::Promise*), boost::_bi::list0>(boost::_bi::type, void 
(*&)(std::string const&, std::string const&, boost::function, 
impala::ThreadDebugInfo const*, impala::Promise*), 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, impala::ThreadDebugInfo const*, 
impala::Promise*), 
boost::_bi::list5, 
boost::_bi::value, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> > 
>::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, 
impala::ThreadDebugInfo const*, impala::Promise*), boost::_bi::list5, 
boost::_bi::value, boost::_bi::value >, 
boost::_bi::value, 
boost::_bi::value*> > > >::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  (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