Yingchun Lai has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/12898 )

Change subject: [curl] Fix error status of timeout
......................................................................


Patch Set 4:

(2 comments)

http://gerrit.cloudera.org:8080/#/c/12898/4//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/12898/4//COMMIT_MSG@7
PS4, Line 7: [curl] Fix error status of timeout
> Curious in what context you found this? A new test?
Yes, it's a new unit test for a new feature of my own branch which may cause a 
deadlock.


http://gerrit.cloudera.org:8080/#/c/12898/4/src/kudu/util/curl_util-test.cc
File src/kudu/util/curl_util-test.cc:

http://gerrit.cloudera.org:8080/#/c/12898/4/src/kudu/util/curl_util-test.cc@29
PS4, Line 29: // When using a thread sanitizer, there will be a data race when 
timeout.
> Can you share what this data race looks like?
Error Message
WARNING: ThreadSanitizer: data race (pid=24445)  Write of size 8 at 
0x7b2000000480 by thread T2:
Stacktrace

WARNING: ThreadSanitizer: data race (pid=24445)  Write of size 8 at 
0x7b2000000480 by thread T2:
    #0 free 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:709
 (curl_util-test+0x432009)
    #1 getaddrinfo_thread <null> (libcurl.so.4+0x3db71)
    #2 curl_thread_create_thunk <null> (libcurl.so.4+0x3b172)

  Previous read of size 8 at 0x7b2000000480 by main thread:
    #0 destroy_async_data <null> (libcurl.so.4+0x3d0cc)
    #1 Curl_resolver_cancel <null> (libcurl.so.4+0x3d04b)
    #2 multi_done <null> (libcurl.so.4+0x30b0b)
    #3 multi_runsingle <null> (libcurl.so.4+0x32d3d)
    #4 curl_multi_perform <null> (libcurl.so.4+0x31cf5)
    #5 curl_easy_perform <null> (libcurl.so.4+0x2aa0b)
    #6 kudu::EasyCurl::DoRequest(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const*, kudu::faststring*, 
std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util.cc:123:3 
(libkudu_curl_util.so+0x4156)
    #7 kudu::EasyCurl::FetchURL(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
kudu::faststring*, std::__1::vector<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > > > const&) 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util.cc:72:10 
(libkudu_curl_util.so+0x3c3b)
    #8 kudu::CurlUtilTest_TestTimeout_Test::TestBody() 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util-test.cc:36:19
 (curl_util-test+0x4bb0df)
    #9 void 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x552ef)
    #10 void 
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
 (libgmock.so+0x552ef)
    #11 testing::Test::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
 (libgmock.so+0x344b8)
    #12 testing::TestInfo::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
 (libgmock.so+0x3574c)
    #13 testing::TestCase::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
 (libgmock.so+0x36226)
    #14 testing::internal::UnitTestImpl::RunAllTests() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
 (libgmock.so+0x425fa)
    #15 bool 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x5625f)
    #16 bool 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
 (libgmock.so+0x5625f)
    #17 testing::UnitTest::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
 (libgmock.so+0x41ee2)
    #18 RUN_ALL_TESTS() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
 (libkudu_test_main.so+0x34db)
    #19 main 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/test_main.cc:106:13 
(libkudu_test_main.so+0x2c86)

  Thread T2 (tid=24450, running) created by main thread at:
    #0 pthread_create 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:992
 (curl_util-test+0x428b86)
    #1 Curl_thread_create <null> (libcurl.so.4+0x3b0ed)
    #2 Curl_resolver_getaddrinfo <null> (libcurl.so.4+0x3d86b)
    #3 Curl_getaddrinfo <null> (libcurl.so.4+0x37b25)
    #4 Curl_resolv <null> (libcurl.so.4+0xb548)
    #5 Curl_resolv_timeout <null> (libcurl.so.4+0xb685)
    #6 create_conn <null> (libcurl.so.4+0x21c57)
    #7 Curl_connect <null> (libcurl.so.4+0x1bf17)
    #8 multi_runsingle <null> (libcurl.so.4+0x326a1)
    #9 curl_multi_perform <null> (libcurl.so.4+0x31cf5)
    #10 curl_easy_perform <null> (libcurl.so.4+0x2aa0b)
    #11 kudu::EasyCurl::DoRequest(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > const*, kudu::faststring*, 
std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > > > const&) 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util.cc:123:3 
(libkudu_curl_util.so+0x4156)
    #12 kudu::EasyCurl::FetchURL(std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> > const&, 
kudu::faststring*, std::__1::vector<std::__1::basic_string<char, 
std::__1::char_traits<char>, std::__1::allocator<char> >, 
std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, 
std::__1::allocator<char> > > > const&) 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util.cc:72:10 
(libkudu_curl_util.so+0x3c3b)
    #13 kudu::CurlUtilTest_TestTimeout_Test::TestBody() 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/curl_util-test.cc:36:19
 (curl_util-test+0x4bb0df)
    #14 void 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x552ef)
    #15 void 
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, 
void>(testing::Test*, void (testing::Test::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
 (libgmock.so+0x552ef)
    #16 testing::Test::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2474:5
 (libgmock.so+0x344b8)
    #17 testing::TestInfo::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2656:11
 (libgmock.so+0x3574c)
    #18 testing::TestCase::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2774:28
 (libgmock.so+0x36226)
    #19 testing::internal::UnitTestImpl::RunAllTests() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4649:43
 (libgmock.so+0x425fa)
    #20 bool 
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2402:10
 (libgmock.so+0x5625f)
    #21 bool 
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
 bool>(testing::internal::UnitTestImpl*, bool 
(testing::internal::UnitTestImpl::*)(), char const*) 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:2438
 (libgmock.so+0x5625f)
    #22 testing::UnitTest::Run() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/src/googletest-release-1.8.0/googletest/src/gtest.cc:4257:10
 (libgmock.so+0x41ee2)
    #23 RUN_ALL_TESTS() 
/home/jenkins-slave/workspace/kudu-master/1/thirdparty/installed/tsan/include/gtest/gtest.h:2233:46
 (libkudu_test_main.so+0x34db)
    #24 main 
/home/jenkins-slave/workspace/kudu-master/1/src/kudu/util/test_main.cc:106:13 
(libkudu_test_main.so+0x2c86)



--
To view, visit http://gerrit.cloudera.org:8080/12898
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ib8fab1bd1a34b06624db4fd51d782a213f93321c
Gerrit-Change-Number: 12898
Gerrit-PatchSet: 4
Gerrit-Owner: Yingchun Lai <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Yingchun Lai <[email protected]>
Gerrit-Comment-Date: Mon, 01 Apr 2019 02:15:16 +0000
Gerrit-HasComments: Yes

Reply via email to