Sahil Takiar created IMPALA-10170:
-------------------------------------

             Summary: Data race on Webserver::UrlHandler::is_on_nav_bar_
                 Key: IMPALA-10170
                 URL: https://issues.apache.org/jira/browse/IMPALA-10170
             Project: IMPALA
          Issue Type: Sub-task
          Components: Backend
            Reporter: Sahil Takiar
            Assignee: Sahil Takiar


{code}
WARNING: ThreadSanitizer: data race (pid=31102)
  Read of size 1 at 0x7b2c0006e3b0 by thread T42:
    #0 impala::Webserver::UrlHandler::is_on_nav_bar() const 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.h:152:41
 (impalad+0x256ff39)
    #1 
impala::Webserver::GetCommonJson(rapidjson::GenericDocument<rapidjson::UTF8<char>,
 rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, 
rapidjson::CrtAllocator>*, sq_connection const*, 
kudu::WebCallbackRegistry::WebRequest const&) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:527:24
 (impalad+0x256be13)
    #2 impala::Webserver::RenderUrlWithTemplate(sq_connection const*, 
kudu::WebCallbackRegistry::WebRequest const&, impala::Webserver::UrlHandler 
const&, std::__cxx11::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:816:3
 (impalad+0x256e882)
    #3 impala::Webserver::BeginRequestCallback(sq_connection*, 
sq_request_info*) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:714:5
 (impalad+0x256cfbb)
    #4 impala::Webserver::BeginRequestCallbackStatic(sq_connection*) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:556:20
 (impalad+0x256ba98)
    #5 handle_request <null> (impalad+0x2582d59)

  Previous write of size 2 at 0x7b2c0006e3b0 by main thread:
    #0 
impala::Webserver::UrlHandler::UrlHandler(impala::Webserver::UrlHandler&&) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.h:141:9
 (impalad+0x2570dbc)
    #1 std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, 
impala::Webserver::UrlHandler>::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler, 
true>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_pair.h:362:4
 (impalad+0x25738b3)
    #2 void 
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, impala::Webserver::UrlHandler>, 
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, impala::Webserver::UrlHandler>*, 
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/ext/new_allocator.h:136:23
 (impalad+0x2573848)
    #3 void 
std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > > 
>::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, impala::Webserver::UrlHandler>, 
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > >&, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>*, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/alloc_traits.h:475:8
 (impalad+0x25737f1)
    #4 void std::_Rb_tree<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> > const, impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::_M_construct_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >*, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, 
impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:626:8
 (impalad+0x257369b)
    #5 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >* 
std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::_M_create_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:643:4
 (impalad+0x2573309)
    #6 
std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, bool> 
std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::_M_emplace_unique<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:2351:19
 (impalad+0x25731be)
    #7 
_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6impala9Webserver10UrlHandlerESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_
 
/data/jenkins/workspace/impala-private-parameterized/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/stl_map.h:809:16
 (impalad+0x25704d8)
    #8 impala::Webserver::RegisterUrlCallback(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 (kudu::WebCallbackRegistry::WebRequest const&, 
rapidjson::GenericDocument<rapidjson::UTF8<char>, 
rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, 
rapidjson::CrtAllocator>*)> const&, bool) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:868:17
 (impalad+0x256f3f8)
    #9 impala::RegisterLogLevelCallbacks(impala::Webserver*, bool) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/logging-support.cc:320:14
 (impalad+0x24d73bd)
    #10 impala::CatalogServer::RegisterWebpages(impala::Webserver*) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/catalog/catalog-server.cc:310:3
 (impalad+0x1ac10a3)
    #11 CatalogdMain(int, char**) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/catalog/catalogd-main.cc:98:18
 (impalad+0x1ab3f89)
    #12 main 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/daemon-main.cc:41:12
 (impalad+0x1ab2d9d)

  Location is heap block of size 168 at 0x7b2c0006e370 allocated by main thread:
    #0 operator new(unsigned long) 
/mnt/source/llvm/llvm-5.0.1.src-p3/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:44
 (impalad+0x1ab04d6)
    #1 
__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > >::allocate(unsigned long, void const*) 
/data/jenkins/workspace/impala-private-parameterized/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/ext/new_allocator.h:111:27
 (impalad+0x257376e)
    #2 
std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > > 
>::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char,
 std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > >&, unsigned long) 
/data/jenkins/workspace/impala-private-parameterized/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/alloc_traits.h:436:20
 (impalad+0x2573712)
    #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > >::_M_get_node() 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:588:16
 (impalad+0x2573626)
    #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >* 
std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::_M_create_node<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:642:23
 (impalad+0x25732f0)
    #5 
std::pair<std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, bool> 
std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler>, 
std::_Select1st<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> >, std::less<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > >, 
std::allocator<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const, 
impala::Webserver::UrlHandler> > 
>::_M_emplace_unique<std::pair<std::__cxx11::basic_string<char, 
std::char_traits<char>, std::allocator<char> >, impala::Webserver::UrlHandler> 
>(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >, impala::Webserver::UrlHandler>&&) 
/data/jenkins/workspace/impala-private-parameterized/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/stl_tree.h:2351:19
 (impalad+0x25731be)
    #6 
_ZNSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEN6impala9Webserver10UrlHandlerESt4lessIS5_ESaISt4pairIKS5_S8_EEE6insertISB_IS5_S8_EEENSt9enable_ifIXsr16is_constructibleISD_T_EE5valueESB_ISt17_Rb_tree_iteratorISD_EbEE4typeEOSJ_
 
/data/jenkins/workspace/impala-private-parameterized/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/stl_map.h:809:16
 (impalad+0x25704d8)
    #7 impala::Webserver::RegisterUrlCallback(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 (kudu::WebCallbackRegistry::WebRequest const&, 
rapidjson::GenericDocument<rapidjson::UTF8<char>, 
rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>, 
rapidjson::CrtAllocator>*)> const&, bool) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.cc:868:17
 (impalad+0x256f3f8)
    #8 impala::RegisterLogLevelCallbacks(impala::Webserver*, bool) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/logging-support.cc:320:14
 (impalad+0x24d73bd)
    #9 impala::CatalogServer::RegisterWebpages(impala::Webserver*) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/catalog/catalog-server.cc:310:3
 (impalad+0x1ac10a3)
    #10 CatalogdMain(int, char**) 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/catalog/catalogd-main.cc:98:18
 (impalad+0x1ab3f89)
    #11 main 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/service/daemon-main.cc:41:12
 (impalad+0x1ab2d9d)

  Thread T42 'sq_worker' (tid=31159, running) created by thread T40 at:
    #0 pthread_create 
/mnt/source/llvm/llvm-5.0.1.src-p3/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:889
 (impalad+0x1a24026)
    #1 sq_start_thread <null> (impalad+0x2579a24)

SUMMARY: ThreadSanitizer: data race 
/data/jenkins/workspace/impala-private-parameterized/repos/Impala/be/src/util/webserver.h:152:41
 in impala::Webserver::UrlHandler::is_on_nav_bar() const
==================
{code}



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

Reply via email to