Joe McDonnell created IMPALA-14049: -------------------------------------- Summary: expr-test fails in TSAN run due to IMPALA-13978 Key: IMPALA-14049 URL: https://issues.apache.org/jira/browse/IMPALA-14049 Project: IMPALA Issue Type: Task Components: Backend Affects Versions: Impala 5.0.0 Reporter: Joe McDonnell
IMPALA-13978 switched HdrHistogram from using a gscoped_array to a unique_ptr. expr-test now fails in TSAN when tearing down the global structures: {noformat} WARNING: ThreadSanitizer: data race (pid=1270841) Write of size 8 at 0x7b140066d868 by main thread: #0 std::unique_ptr<long [], std::default_delete<long []> >::~unique_ptr() /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/gcc-10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../include/c++/10.4.0/bits/unique_ptr.h:613:8 (unifiedbetests+0x7aa7af1) #1 impala::HdrHistogram::~HdrHistogram() /home/joemcdonnell/upstream/Impala/be/src/util/hdr-histogram.h:70:7 (unifiedbetests+0x7d5a14d) #2 void boost::checked_delete<impala::HdrHistogram>(impala::HdrHistogram*) /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/core/checked_delete.hpp:36:5 (unifiedbetests+0x7d5a10e) #3 boost::scoped_ptr<impala::HdrHistogram>::~scoped_ptr() /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/boost-1.74.0-p1/include/boost/smart_ptr/scoped_ptr.hpp:88:9 (unifiedbetests+0x7d5a0e1) #4 impala::HistogramMetric::~HistogramMetric() /home/joemcdonnell/upstream/Impala/be/src/util/histogram-metric.h:31:7 (unifiedbetests+0x7d52854) ... Previous read of size 8 at 0x7b140066d868 by thread T955 (mutexes: write M235448423542615688): #0 std::__uniq_ptr_impl<long, std::default_delete<long []> >::_M_ptr() const /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/gcc-10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../include/c++/10.4.0/bits/unique_ptr.h:173:42 (unifiedbetests+0x7a98944) #1 std::unique_ptr<long [], std::default_delete<long []> >::get() const /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/gcc-10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../include/c++/10.4.0/bits/unique_ptr.h:666:21 (unifiedbetests+0x7a98909) #2 std::unique_ptr<long [], std::default_delete<long []> >::operator[](unsigned long) const /opt/Impala-Toolchain/toolchain-packages-gcc10.4.0/gcc-10.4.0/lib/gcc/x86_64-pc-linux-gnu/10.4.0/../../../../include/c++/10.4.0/bits/unique_ptr.h:660:9 (unifiedbetests+0x7a986fd) #3 impala::HdrHistogram::IncrementBy(long, long) /home/joemcdonnell/upstream/Impala/be/src/util/hdr-histogram.cc:158:30 (unifiedbetests+0x8479de6) #4 impala::HdrHistogram::Increment(long) /home/joemcdonnell/upstream/Impala/be/src/util/hdr-histogram.cc:144:3 (unifiedbetests+0x8479cd5) #5 impala::HistogramMetric::Update(long) /home/joemcdonnell/upstream/Impala/be/src/util/histogram-metric.h:46:17 (unifiedbetests+0x6ca86dd) #6 impala::RpcEventHandler::postWrite(void*, char const*, unsigned int) /home/joemcdonnell/upstream/Impala/be/src/rpc/rpc-trace.cc:265:40 (unifiedbetests+0x7cc595e) {noformat} There is some problem with the order in which things get torn down. expr-test is a complete mess in that regard. Anyway, the behavior is different between gscoped_array and unique_ptr, and this starts to fail after the switch. -- This message was sent by Atlassian Jira (v8.20.10#820010)