You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/07/05 21:49:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=17151670#comment-17151670 ] 

ASF subversion and git services commented on IMPALA-9916:
---------------------------------------------------------

Commit 49af396c1057ad8d3cd073cfe87d002c1dbae2fe in impala's branch refs/heads/master from Yida Wu
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=49af396 ]

IMPALA-9916: Fix DiskIoMgrTest.MetricsOfWriteIoError failed
due to data race in TSAN build

A mutex has been added to fix the data race issue during the
unit test.

Testing:
Reran the unit test DiskIoMgrTest.MetricsOfWriteIoError under
TSAN.

Change-Id: If07a520001f397e49a77abcac6a86595cbf16a6c
Reviewed-on: http://gerrit.cloudera.org:8080/16142
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> 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
>
> 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)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org