[ 
https://issues.apache.org/jira/browse/IMPALA-14278?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18012356#comment-18012356
 ] 

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

Commit 09a6f0e6cd912f573f0d8950abf40f498385c628 in impala's branch 
refs/heads/master from Surya Hebbar
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=09a6f0e6c ]

IMPALA-14278: Fix MemTracker data race between ExecEnv and Webserver

In the Webserver, while assigning or closing the compressed buffer's
memory tracker, no lock was being held across threads causing
TSAN build failures.

The critical section for this memory tracker is only necessary during
begining of the Webserver and is used rarely. So, only a general mutex
has been used instead of a shared mutex with concurrent reads.

Change-Id: Ife9198e911e526a9a0e88bdb175b4502a5bc2662
Reviewed-on: http://gerrit.cloudera.org:8080/23250
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> MemTracker data race TSAN build failure between ExecEnv and Webserver
> ---------------------------------------------------------------------
>
>                 Key: IMPALA-14278
>                 URL: https://issues.apache.org/jira/browse/IMPALA-14278
>             Project: IMPALA
>          Issue Type: Bug
>            Reporter: Surya Hebbar
>            Assignee: Surya Hebbar
>            Priority: Major
>
> [https://master-03.jenkins.cloudera.com/job/impala-asf-master-core-tsan/496/testReport]
> h3. Error Message
> {code}
> Thread Sanitizer message detected in 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/logs/data_loading/impalad.impala-ec2-redhat86-m6i-4xlarge-ondemand-1d1a.vpc.cloudera.com.jenkins.log.ERROR.20250728-171802.60555{code}
> h3. Standard Error
> {code}
> WARNING: ThreadSanitizer: data race (pid=60555)
>   Read of size 8 at 0x7b5c000087a0 by thread T207:
>     #0 std::__shared_ptr<impala::MemTracker, 
> (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<impala::MemTracker,
>  (__gnu_cxx::_Lock_policy)2> const&) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/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/shared_ptr_base.h:1186:7
>  (impalad+0x29ba980)
>     #1 
> std::shared_ptr<impala::MemTracker>::shared_ptr(std::shared_ptr<impala::MemTracker>
>  const&) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/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/shared_ptr.h:149:7
>  (impalad+0x29b5fe0)
>     #2 impala::Webserver::SendResponse(sq_connection*, 
> 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&, std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > const&, 
> std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > > > const&) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/webserver.cc:633:7
>  (impalad+0x3038cc8)
>     #3 impala::Webserver::BeginRequestCallback(sq_connection*, 
> sq_request_info*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/webserver.cc:1063:3
>  (impalad+0x303b96d)
>     #4 impala::Webserver::BeginRequestCallbackStatic(sq_connection*) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/util/webserver.cc:723:20
>  (impalad+0x30389c8)
>     #5 handle_request <null> (impalad+0x3052449)
>   Previous write of size 8 at 0x7b5c000087a0 by main thread:
>     [failed to restore the stack]
>   Location is heap block of size 792 at 0x7b5c00008500 allocated by main 
> thread:
>     #0 operator new(unsigned long) <null> (impalad+0x2179bea)
>     #1 impala::ExecEnv::ExecEnv(int, int, int, 
> std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
> > const&, int, std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> > const&, int, bool) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/exec-env.cc:248:16
>  (impalad+0x2835ca0)
>     #2 impala::ExecEnv::ExecEnv(bool) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/runtime/exec-env.cc:226:5
>  (impalad+0x2835999)
>     #3 ImpaladMain(int, char**) 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/service/impalad-main.cc:75:11
>  (impalad+0x2c84991)
>     #4 main 
> /data/jenkins/workspace/impala-asf-master-core-tsan/repos/Impala/be/src/service/daemon-main.cc:38:12
>  (impalad+0x217b2ba)
>   Thread T207 'sq_worker' (tid=61451, running) created by thread T205 at:
>     #0 pthread_create <null> (impalad+0x211bff3)
>     #1 sq_start_thread <null> (impalad+0x304a2c4)
> SUMMARY: ThreadSanitizer: data race 
> /data/jenkins/workspace/impala-asf-master-core-tsan/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/shared_ptr_base.h:1186:7
>  in std::__shared_ptr<impala::MemTracker, 
> (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<impala::MemTracker,
>  (__gnu_cxx::_Lock_policy)2> const&)
> =================={code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to