You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Yida Wu (Jira)" <ji...@apache.org> on 2020/07/08 20:26:00 UTC

[jira] [Resolved] (IMPALA-9916) DiskIoMgrTest.MetricsOfWriteIoError failed due to data race in TSAN build

     [ https://issues.apache.org/jira/browse/IMPALA-9916?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Yida Wu resolved IMPALA-9916.
-----------------------------
    Target Version: Impala 4.0
        Resolution: Fixed

> DiskIoMgrTest.MetricsOfWriteIoError failed due to data race in TSAN build 
> --------------------------------------------------------------------------
>
>                 Key: IMPALA-9916
>                 URL: https://issues.apache.org/jira/browse/IMPALA-9916
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>    Affects Versions: Impala 4.0
>         Environment: BUILD_TAG: jenkins-impala-asf-master-core-tsan-30
> Build TYPE: TSAN
>            Reporter: Wenzhe Zhou
>            Assignee: Yida Wu
>            Priority: Critical
>              Labels: broken-build
>
> IMPALA-9829 added new test case DiskIoMgrTest.MetricsOfWriteIoError, but it failed in TSAN build.
> 18:12:42 [ RUN ] DiskIoMgrTest.MetricsOfWriteIoError
> 18:12:42 ==================
> 18:12:42 WARNING: ThreadSanitizer: data race (pid=3922)
> 18:12:42 Write of size 4 at 0x7b8800013488 by thread T186:
> 18:12:42 #0 impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test::TestBody()::$_4::operator()(impala::Status const&) const /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr-test.cc:1757:25 (unifiedbetests+0x1f32b83)
> 18:12:42 #1 std::_Function_handler<void (impala::Status const&), impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test::TestBody()::$_4>::_M_invoke(std::_Any_data const&, impala::Status const&) /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/gcc-7.5.0/lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316:2 (unifiedbetests+0x1f32993)
> 18:12:42 #2 std::function<void (impala::Status const&)>::operator()(impala::Status const&) const /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/gcc-7.5.0/lib/gcc/x86_64-pc-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706:14 (unifiedbetests+0x2bd7562)
> 18:12:42 #3 impala::io::RequestContext::WriteDone(impala::io::WriteRange*, impala::Status const&) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/request-context.cc:229:3 (unifiedbetests+0x2bd3cf9)
> 18:12:42 #4 impala::io::DiskIoMgr::Write(impala::io::RequestContext*, impala::io::WriteRange*) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr.cc:579:19 (unifiedbetests+0x2bbca47)
> 18:12:42 #5 impala::io::DiskQueue::DiskThreadLoop(impala::io::DiskIoMgr*) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr.cc:550:15 (unifiedbetests+0x2bbb7f6)
> 18:12:42 #6 boost::_mfi::mf1<void, impala::io::DiskQueue, impala::io::DiskIoMgr*>::operator()(impala::io::DiskQueue*, impala::io::DiskIoMgr*) const /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/bind/mem_fn_template.hpp:165:29 (unifiedbetests+0x2bc6afd)
> 18:12:42 #7 void boost::_bi::list2<boost::_bi::value<impala::io::DiskQueue*>, boost::_bi::value<impala::io::DiskIoMgr*> >::operator()<boost::_mfi::mf1<void, impala::io::DiskQueue, impala::io::DiskIoMgr*>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf1<void, impala::io::DiskQueue, impala::io::DiskIoMgr*>&, boost::_bi::list0&, int) /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/bind/bind.hpp:319:9 (unifiedbetests+0x2bc6a3d)
> 18:12:42 #8 boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::io::DiskQueue, impala::io::DiskIoMgr*>, boost::_bi::list2<boost::_bi::value<impala::io::DiskQueue*>, boost::_bi::value<impala::io::DiskIoMgr*> > >::operator()() /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (unifiedbetests+0x2bc69a3)
> 18:12:42 #9 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf1<void, impala::io::DiskQueue, impala::io::DiskIoMgr*>, boost::_bi::list2<boost::_bi::value<impala::io::DiskQueue*>, boost::_bi::value<impala::io::DiskIoMgr*> > >, void>::invoke(boost::detail::function::function_buffer&) /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/function/function_template.hpp:159:11 (unifiedbetests+0x2bc6741)
> 18:12:42 #10 boost::function0<void>::operator()() const /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/function/function_template.hpp:770:14 (unifiedbetests+0x2cb5721)
> 18:12:42 #11 impala::Thread::SuperviseThread(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/thread.cc:360:3 (unifiedbetests+0x3668abb)
> 18:12:42 #12 void boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::ThreadDebugInfo*>, boost::_bi::value<impala::Promise<long, (impala::PromiseMode)0>*> >::operator()<void (*)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0>(boost::_bi::type<void>, void (*&)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list0&, int) /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/bind/bind.hpp:531:9 (unifiedbetests+0x367091c)
> 18:12:42 #13 boost::_bi::bind_t<void, void (*)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, 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-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/bind/bind.hpp:1222:16 (unifiedbetests+0x3670833)
> 18:12:42 #14 boost::detail::thread_data<boost::_bi::bind_t<void, void (*)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), boost::_bi::list5<boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, 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-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:116:17 (unifiedbetests+0x3670520)
> 18:12:42 #15 thread_proxy <null> (unifiedbetests+0x390d7b1)
> 18:12:42 
> 18:12:42 Previous read of size 4 at 0x7b8800013488 by main thread (mutexes: write M1074807285127132208):
> 18:12:42 #0 impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test::TestBody() /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr-test.cc:1765:12 (unifiedbetests+0x1f31471)
> 18:12:42 #1 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (unifiedbetests+0x4d17169)
> 18:12:42 #2 __libc_start_main <null> (libc.so.6+0x21c04)
> 18:12:42 
> 18:12:42 Location is heap block of size 5264 at 0x7b8800012000 allocated by main thread:
> 18:12:42 #0 operator new(unsigned long) /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:44 (unifiedbetests+0x1d598d6)
> 18:12:42 #1 testing::internal::TestFactoryImpl<impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test>::CreateTest() /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/gtest-1.6.0/include/gtest/internal/gtest-internal.h:529:39 (unifiedbetests+0x1f3c349)
> 18:12:42 #2 testing::Test* testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::TestFactoryBase, testing::Test*>(testing::internal::TestFactoryBase*, testing::Test* (testing::internal::TestFactoryBase::*)(), char const*) <null> (unifiedbetests+0x4d172d9)
> 18:12:42 #3 __libc_start_main <null> (libc.so.6+0x21c04)
> 18:12:42 
> 18:12:42 Mutex M1074807285127132208 is already destroyed.
> 18:12:42 
> 18:12:42 Thread T186 (tid=5211, running) created by main thread at:
> 18:12:42 #0 pthread_create /mnt/source/llvm/llvm-5.0.1.src-p2/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889 (unifiedbetests+0x1ccd426)
> 18:12:42 #1 boost::thread::start_thread_noexcept() <null> (unifiedbetests+0x390c808)
> 18:12:42 #2 boost::thread::thread<void (*)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*>(void (*)(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&, boost::function<void ()>, impala::ThreadDebugInfo const*, impala::Promise<long, (impala::PromiseMode)0>*), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::function<void ()>, impala::ThreadDebugInfo*, impala::Promise<long, (impala::PromiseMode)0>*) /data/jenkins/workspace/impala-asf-master-core-tsan/Impala-Toolchain/toolchain-packages-gcc7.5.0/boost-1.61.0-p2/include/boost/thread/detail/thread.hpp:420:13 (unifiedbetests+0x366b2a4)
> 18:12:42 #3 impala::Thread::StartThread(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&, boost::function<void ()> const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> >*, bool) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/thread.cc:317:13 (unifiedbetests+0x3668431)
> 18:12:42 #4 impala::Status impala::Thread::Create<void (impala::io::DiskQueue::*)(impala::io::DiskIoMgr*), impala::io::DiskQueue*, impala::io::DiskIoMgr*>(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&, void (impala::io::DiskQueue::* const&)(impala::io::DiskIoMgr*), impala::io::DiskQueue* const&, impala::io::DiskIoMgr* const&, std::unique_ptr<impala::Thread, std::default_delete<impala::Thread> >*, bool) /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/thread.h:89:12 (unifiedbetests+0x2bbf3c7)
> 18:12:42 #5 impala::io::DiskIoMgr::Init() /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr.cc:370:7 (unifiedbetests+0x2bbb033)
> 18:12:42 #6 impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test::TestBody() /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr-test.cc:1750:3 (unifiedbetests+0x1f310f0)
> 18:12:42 #7 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (unifiedbetests+0x4d17169)
> 18:12:42 #8 __libc_start_main <null> (libc.so.6+0x21c04)
> 18:12:42 
> 18:12:42 SUMMARY: ThreadSanitizer: data race /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/io/disk-io-mgr-test.cc:1757:25 in impala::io::DiskIoMgrTest_MetricsOfWriteIoError_Test::TestBody()::$_4::operator()(impala::Status const&) const
> 18:12:42 ==================
> 18:12:42 Traceback (most recent call last):
> 18:12:42 File "/data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/bin/junitxml_prune_notrun.py", line 71, in <module>
> 18:12:42 if __name__ == "__main__": main()
> 18:12:42 File "/data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/bin/junitxml_prune_notrun.py", line 68, in main
> 18:12:42 junitxml_prune_notrun(options.filename)
> 18:12:42 File "/data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/bin/junitxml_prune_notrun.py", line 31, in junitxml_prune_notrun
> 18:12:42 root = tree.parse(junitxml_filename)
> 18:12:42 File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 647, in parse
> 18:12:42 source = open(source, "rb")
> 18:12:42 IOError: [Errno 2] No such file or directory: '/data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/logs/be_tests/disk-io-mgr-test.xml'
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)