New issue
Advanced search Search tips

Issue 830819 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

cronet_tests fail on tsan

Project Member Reported by thakis@chromium.org, Apr 9 2018

Issue description

From my quest of trying to run more stuff on msan and tsan:

https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_tsan_rel_ng/285009

UrlRequestTest.SimpleRequest
BufferTest.TestInitWithHugeAllocFails
UrlRequestTest.CancelRequest
UrlRequestTest.PerfTest
EngineTest.InitDifferentEngines
UrlRequestTest.FailedRequestHostNotFound
UrlRequestTest.MultiRedirect
UrlRequestTest.SimpleGet


Looks like 3 distinct problems:

First one:

==================
WARNING: ThreadSanitizer: data race (pid=23876)
  Write of size 8 at 0x7b2800000458 by main thread:
    #0 reset buildtools/third_party/libc++/trunk/include/memory:2597:20 (cronet_tests+0x3f5c22)
    #1 ShutdownExecutor components/cronet/native/test/test_url_request_callback.h:113 (cronet_tests+0x3f5c22)
    #2 (anonymous namespace)::UrlRequestTest::StartAndWaitForComplete(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) components/cronet/native/test/url_request_test.cc:55 (cronet_tests+0x3f5c22)
    #3 (anonymous namespace)::UrlRequestTest_SimpleGet_Test::TestBody() components/cronet/native/test/url_request_test.cc:203:19 (cronet_tests+0x3f4857)
    #4 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #10 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #11 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #12 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #13 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #14 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #15 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #16 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #17 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #18 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
  Previous read of size 8 at 0x7b2800000458 by thread T16:
    #0 operator bool buildtools/third_party/libc++/trunk/include/memory:2584:19 (cronet_tests+0x3f1742)
    #1 cronet::test::TestUrlRequestCallback::CheckExecutorThread() components/cronet/native/test/test_url_request_callback.cc:207 (cronet_tests+0x3f1742)
    #2 cronet::test::TestUrlRequestCallback::MaybeCancelOrPause(Cronet_UrlRequest*) components/cronet/native/test/test_url_request_callback.cc:212:3 (cronet_tests+0x3f1897)
    #3 cronet::test::TestUrlRequestCallback::OnSucceeded(Cronet_UrlRequest*, Cronet_UrlResponseInfo*) components/cronet/native/test/test_url_request_callback.cc:165:3 (cronet_tests+0x3f2100)
    #4 cronet::test::TestUrlRequestCallback::OnSucceeded(Cronet_UrlRequestCallback*, Cronet_UrlRequest*, Cronet_UrlResponseInfo*) components/cronet/native/test/test_url_request_callback.cc:270:18 (cronet_tests+0x3f130d)
    #5 Cronet_UrlRequestCallbackStub::OnSucceeded(Cronet_UrlRequest*, Cronet_UrlResponseInfo*) components/cronet/native/generated/cronet.idl_impl_interface.cc:521:5 (libcronet.so+0x2db510)
    #6 Cronet_UrlRequestCallback_OnSucceeded components/cronet/native/generated/cronet.idl_impl_interface.cc:462:9 (libcronet.so+0x2d994c)
    #7 Invoke<Cronet_UrlRequestCallback *, cronet::Cronet_UrlRequestImpl *, Cronet_UrlResponseInfo *> base/bind_internal.h:402:12 (libcronet.so+0x2d792f)
    #8 MakeItSo<void (*)(Cronet_UrlRequestCallback *, Cronet_UrlRequest *, Cronet_UrlResponseInfo *), Cronet_UrlRequestCallback *, cronet::Cronet_UrlRequestImpl *, Cronet_UrlResponseInfo *> base/bind_internal.h:530 (libcronet.so+0x2d792f)
    #9 RunImpl<void (*)(Cronet_UrlRequestCallback *, Cronet_UrlRequest *, Cronet_UrlResponseInfo *), std::__1::tuple<Cronet_UrlRequestCallback *, cronet::Cronet_UrlRequestImpl *, Cronet_UrlResponseInfo *>, 0, 1, 2> base/bind_internal.h:604 (libcronet.so+0x2d792f)
    #10 base::internal::Invoker<base::internal::BindState<void (*)(Cronet_UrlRequestCallback*, Cronet_UrlRequest*, Cronet_UrlResponseInfo*), Cronet_UrlRequestCallback*, cronet::Cronet_UrlRequestImpl*, Cronet_UrlResponseInfo*>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:572 (libcronet.so+0x2d792f)
    #11 Run base/callback.h:95:12 (libcronet.so+0x2d4d48)
    #12 cronet::OnceClosureRunnable::Run() components/cronet/native/runnables.cc:17 (libcronet.so+0x2d4d48)
    #13 Cronet_Runnable_Run components/cronet/native/generated/cronet.idl_impl_interface.cc:169:9 (libcronet.so+0x2d867c)
    #14 Invoke<Cronet_Runnable *> base/bind_internal.h:402:12 (cronet_tests+0x3f3365)
    #15 MakeItSo<void (*)(Cronet_Runnable *), Cronet_Runnable *> base/bind_internal.h:530 (cronet_tests+0x3f3365)
    #16 RunImpl<void (*)(Cronet_Runnable *), std::__1::tuple<Cronet_Runnable *>, 0> base/bind_internal.h:604 (cronet_tests+0x3f3365)
    #17 base::internal::Invoker<base::internal::BindState<void (*)(Cronet_Runnable*), Cronet_Runnable*>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:572 (cronet_tests+0x3f3365)
    #18 Run base/callback.h:95:12 (cronet_tests+0x5b7eab)
    #19 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (cronet_tests+0x5b7eab)
    #20 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:124:19 (cronet_tests+0x5b4c0e)
    #21 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:354:25 (cronet_tests+0x5b0f03)
    #22 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:364:5 (cronet_tests+0x5b181c)
    #23 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:408:16 (cronet_tests+0x5b1bb5)
    #24 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:37:31 (cronet_tests+0x5b8936)
    #25 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:306:12 (cronet_tests+0x5b04a9)
    #26 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (cronet_tests+0x5b05f4)
    #27 base::RunLoop::Run() base/run_loop.cc:130:14 (cronet_tests+0x5df4ef)
    #28 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (cronet_tests+0x5f9ecb)
    #29 base::Thread::ThreadMain() base/threading/thread.cc:338:3 (cronet_tests+0x5fa521)
    #30 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (cronet_tests+0x5f6558)
  Location is heap block of size 160 at 0x7b28000003c0 allocated by main thread:
    #0 operator new(unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:57:3 (cronet_tests+0x3e7119)
    #1 make_unique<cronet::test::TestUrlRequestCallback> buildtools/third_party/libc++/trunk/include/memory:3079:28 (cronet_tests+0x3f5b69)
    #2 (anonymous namespace)::UrlRequestTest::StartAndWaitForComplete(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) components/cronet/native/test/url_request_test.cc:36 (cronet_tests+0x3f5b69)
    #3 (anonymous namespace)::UrlRequestTest_SimpleGet_Test::TestBody() components/cronet/native/test/url_request_test.cc:203:19 (cronet_tests+0x3f4857)
    #4 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #10 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #11 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #12 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #13 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #14 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #15 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #16 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #17 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #18 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
  Thread T16 'TestUrlRequestCallback executor' (tid=23961, running) created by main thread at:
    #0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (cronet_tests+0x37d4c5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (cronet_tests+0x5f6056)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (cronet_tests+0x5f5f15)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (cronet_tests+0x5f9755)
    #4 base::Thread::Start() base/threading/thread.cc:75:10 (cronet_tests+0x5f93ca)
    #5 cronet::test::TestUrlRequestCallback::CreateExecutor(bool) components/cronet/native/test/test_url_request_callback.cc:74:21 (cronet_tests+0x3f0eb5)
    #6 (anonymous namespace)::UrlRequestTest::StartAndWaitForComplete(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) components/cronet/native/test/url_request_test.cc:43:50 (cronet_tests+0x3f5ba4)
    #7 (anonymous namespace)::UrlRequestTest_SimpleGet_Test::TestBody() components/cronet/native/test/url_request_test.cc:203:19 (cronet_tests+0x3f4857)
    #8 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #9 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #10 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #11 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #12 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #13 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #14 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #15 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #16 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #17 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #18 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #19 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #20 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #21 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #22 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
SUMMARY: ThreadSanitizer: data race buildtools/third_party/libc++/trunk/include/memory:2597:20 in reset


Second one: 

==23874==ThreadSanitizer's allocator is terminating the process instead of returning 0
==23874==If you don't like this behavior set allocator_may_return_null=1
FATAL: ThreadSanitizer CHECK failed: /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:226 "((0)) != (0)" (0x0, 0x0)
    #0 __tsan::TsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_rtl_report.cc:48:25 (cronet_tests+0x3deb31)
    #1 __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/sanitizer_common/sanitizer_termination.cc:79:5 (cronet_tests+0x369c3f)
    #2 __sanitizer::ReportAllocatorCannotReturnNull() /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:226:3 (cronet_tests+0x358773)
    #3 __sanitizer::ReturnNullOrDieOnFailure::OnBadRequest() /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc:242:3 (cronet_tests+0x3587b1)
    #4 __tsan::user_alloc(__tsan::ThreadState*, unsigned long, unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_mman.cc:177:25 (cronet_tests+0x3cdd40)
    #5 malloc /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:665:9 (cronet_tests+0x37bfe5)
    #6 (anonymous namespace)::Cronet_BufferImpl::InitWithAlloc(unsigned long) components/cronet/native/buffer.cc:68:11 (libcronet.so+0x2d02c5)
    #7 Cronet_Buffer_InitWithAlloc components/cronet/native/generated/cronet.idl_impl_interface.cc:38:9 (libcronet.so+0x2d7ea4)
    #8 (anonymous namespace)::BufferTest_TestInitWithHugeAllocFails_Test::TestBody() components/cronet/native/test/buffer_test.cc:93:3 (cronet_tests+0x3e9d61)
    #9 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #10 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #11 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #12 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #13 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #14 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #15 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #16 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #17 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #18 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #19 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #20 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #21 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #22 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #23 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
    #24 __libc_start_main /build/eglibc-SvCtMH/eglibc-2.19/csu/libc-start.c:287 (libc.so.6+0x21f44)
    #25 _start <null> (cronet_tests+0x358029)



Third one:

WARNING: ThreadSanitizer: data race (pid=23886)
  Write of size 1 at 0x7fdfcd31f1c8 by thread T11:
    #0 base::FeatureList::IsEnabled(base::Feature const&) base/feature_list.cc (libcronet.so+0x31a211)
    #1 net::CertVerifyProc::CertVerifyProc() net/cert/cert_verify_proc.cc:484:32 (libcronet.so+0x474614)
    #2 net::CertVerifyProcNSS::CertVerifyProcNSS() net/cert/cert_verify_proc_nss.cc:808:20 (libcronet.so+0x4764da)
    #3 net::CertVerifyProc::CreateDefault() net/cert/cert_verify_proc.cc:467:14 (libcronet.so+0x474587)
    #4 net::CertVerifier::CreateDefault() net/cert/cert_verifier.cc:84:11 (libcronet.so+0x3e7983)
    #5 cronet::URLRequestContextConfig::ConfigureURLRequestContextBuilder(net::URLRequestContextBuilder*, net::NetLog*) components/cronet/url_request_context_config.cc:586:21 (libcronet.so+0x2cd655)
    #6 cronet::CronetURLRequestContext::NetworkTasks::Initialize(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >) components/cronet/cronet_url_request_context.cc:326:11 (libcronet.so+0x2c30a3)
    #7 void base::internal::FunctorTraits<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), void>::Invoke<cronet::CronetURLRequestContext::NetworkTasks*, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >(void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), cronet::CronetURLRequestContext::NetworkTasks*&&, scoped_refptr<base::SingleThreadTaskRunner>&&, scoped_refptr<base::SingleThreadTaskRunner>&&, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >&&) base/bind_internal.h:447:12 (libcronet.so+0x2c5f37)
    #8 MakeItSo<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), cronet::CronetURLRequestContext::NetworkTasks *, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > > base/bind_internal.h:530:12 (libcronet.so+0x2c5e4c)
    #9 RunImpl<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), std::__1::tuple<base::internal::UnretainedWrapper<cronet::CronetURLRequestContext::NetworkTasks>, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >, 0, 1, 2, 3> base/bind_internal.h:604 (libcronet.so+0x2c5e4c)
    #10 base::internal::Invoker<base::internal::BindState<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), base::internal::UnretainedWrapper<cronet::CronetURLRequestContext::NetworkTasks>, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:572 (libcronet.so+0x2c5e4c)
    #11 Run base/callback.h:95:12 (libcronet.so+0x3196fb)
    #12 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (libcronet.so+0x3196fb)
    #13 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:124:19 (libcronet.so+0x34007e)
    #14 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:354:25 (libcronet.so+0x3454d3)
    #15 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:364:5 (libcronet.so+0x345dec)
    #16 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:408:16 (libcronet.so+0x346185)
    #17 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:212:31 (libcronet.so+0x34af44)
    #18 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:306:12 (libcronet.so+0x344a79)
    #19 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (libcronet.so+0x344bc4)
    #20 base::RunLoop::Run() base/run_loop.cc:130:14 (libcronet.so+0x36e01f)
    #21 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (libcronet.so+0x3ac05b)
    #22 base::Thread::ThreadMain() base/threading/thread.cc:338:3 (libcronet.so+0x3ac6b1)
    #23 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (libcronet.so+0x3a8f58)
  Previous write of size 1 at 0x7fdfcd31f1c8 by thread T8:
    #0 base::FeatureList::IsEnabled(base::Feature const&) base/feature_list.cc (libcronet.so+0x31a211)
    #1 base::GetFieldTrialParamValueByFeature(base::Feature const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) base/metrics/field_trial_params.cc:53:8 (libcronet.so+0x3505d8)
    #2 base::FeatureParam<base::TaskPriority, true>::Get() const base/metrics/field_trial_params.h:238:25 (libcronet.so+0x4f1191)
    #3 net::HostResolverImpl::HostResolverImpl(net::HostResolver::Options const&, net::NetLog*) net/dns/host_resolver_impl.cc:1994:40 (libcronet.so+0x54cb56)
    #4 make_unique<net::HostResolverImpl, const net::HostResolver::Options &, net::NetLog *&> buildtools/third_party/libc++/trunk/include/memory:3079:32 (libcronet.so+0x549fbe)
    #5 CreateSystemResolverImpl net/dns/host_resolver.cc:143 (libcronet.so+0x549fbe)
    #6 CreateSystemResolver net/dns/host_resolver.cc:136 (libcronet.so+0x549fbe)
    #7 net::HostResolver::CreateDefaultResolver(net::NetLog*) net/dns/host_resolver.cc:149 (libcronet.so+0x549fbe)
    #8 net::URLRequestContextBuilder::Build() net/url_request/url_request_context_builder.cc:424:9 (libcronet.so+0x8673d0)
    #9 cronet::CronetURLRequestContext::NetworkTasks::Initialize(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >) components/cronet/cronet_url_request_context.cc:376:30 (libcronet.so+0x2c363f)
    #10 void base::internal::FunctorTraits<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), void>::Invoke<cronet::CronetURLRequestContext::NetworkTasks*, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >(void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), cronet::CronetURLRequestContext::NetworkTasks*&&, scoped_refptr<base::SingleThreadTaskRunner>&&, scoped_refptr<base::SingleThreadTaskRunner>&&, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >&&) base/bind_internal.h:447:12 (libcronet.so+0x2c5f37)
    #11 MakeItSo<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), cronet::CronetURLRequestContext::NetworkTasks *, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > > base/bind_internal.h:530:12 (libcronet.so+0x2c5e4c)
    #12 RunImpl<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), std::__1::tuple<base::internal::UnretainedWrapper<cronet::CronetURLRequestContext::NetworkTasks>, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >, 0, 1, 2, 3> base/bind_internal.h:604 (libcronet.so+0x2c5e4c)
    #13 base::internal::Invoker<base::internal::BindState<void (cronet::CronetURLRequestContext::NetworkTasks::*)(scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SequencedTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> >), base::internal::UnretainedWrapper<cronet::CronetURLRequestContext::NetworkTasks>, scoped_refptr<base::SingleThreadTaskRunner>, scoped_refptr<base::SingleThreadTaskRunner>, std::__1::unique_ptr<net::ProxyConfigService, std::__1::default_delete<net::ProxyConfigService> > >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:572 (libcronet.so+0x2c5e4c)
    #14 Run base/callback.h:95:12 (libcronet.so+0x3196fb)
    #15 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:101 (libcronet.so+0x3196fb)
    #16 base::internal::IncomingTaskQueue::RunTask(base::PendingTask*) base/message_loop/incoming_task_queue.cc:124:19 (libcronet.so+0x34007e)
    #17 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:354:25 (libcronet.so+0x3454d3)
    #18 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:364:5 (libcronet.so+0x345dec)
    #19 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:408:16 (libcronet.so+0x346185)
    #20 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:212:31 (libcronet.so+0x34af44)
    #21 base::MessageLoop::Run(bool) base/message_loop/message_loop.cc:306:12 (libcronet.so+0x344a79)
    #22 non-virtual thunk to base::MessageLoop::Run(bool) base/message_loop/message_loop.cc (libcronet.so+0x344bc4)
    #23 base::RunLoop::Run() base/run_loop.cc:130:14 (libcronet.so+0x36e01f)
    #24 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:255:13 (libcronet.so+0x3ac05b)
    #25 base::Thread::ThreadMain() base/threading/thread.cc:338:3 (libcronet.so+0x3ac6b1)
    #26 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:76:13 (libcronet.so+0x3a8f58)
  Location is global 'base::(anonymous namespace)::g_initialized_from_accessor' of size 1 at 0x7fdfcd31f1c8 (libcronet.so+0x000000bb91c8)
  Thread T11 'network' (tid=23912, running) created by main thread at:
    #0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (cronet_tests+0x37d4c5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (libcronet.so+0x3a8a56)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (libcronet.so+0x3a8915)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (libcronet.so+0x3ab9c5)
    #4 cronet::CronetURLRequestContext::CronetURLRequestContext(std::__1::unique_ptr<cronet::URLRequestContextConfig, std::__1::default_delete<cronet::URLRequestContextConfig> >, std::__1::unique_ptr<cronet::CronetURLRequestContext::Callback, std::__1::default_delete<cronet::CronetURLRequestContext::Callback> >) components/cronet/cronet_url_request_context.cc:188:19 (libcronet.so+0x2c1fca)
    #5 make_unique<cronet::CronetURLRequestContext, std::__1::unique_ptr<cronet::URLRequestContextConfig, std::__1::default_delete<cronet::URLRequestContextConfig> >, std::__1::unique_ptr<cronet::Cronet_EngineImpl::Callback, std::__1::default_delete<cronet::Cronet_EngineImpl::Callback> > > buildtools/third_party/libc++/trunk/include/memory:3079:32 (libcronet.so+0x2d18ea)
    #6 cronet::Cronet_EngineImpl::StartWithParams(Cronet_EngineParams*) components/cronet/native/engine.cc:179 (libcronet.so+0x2d18ea)
    #7 Cronet_Engine_StartWithParams components/cronet/native/generated/cronet.idl_impl_interface.cc:262:16 (libcronet.so+0x2d8cc4)
    #8 (anonymous namespace)::EngineTest_InitDifferentEngines_Test::TestBody() components/cronet/native/test/engine_test.cc:55:3 (cronet_tests+0x3ec554)
    #9 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #10 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #11 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #12 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #13 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #14 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #15 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #16 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #17 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #18 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #19 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #20 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #21 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #22 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #23 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
  Thread T8 'network' (tid=23909, running) created by main thread at:
    #0 pthread_create /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:965:3 (cronet_tests+0x37d4c5)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:115:13 (libcronet.so+0x3a8a56)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:200:10 (libcronet.so+0x3a8915)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (libcronet.so+0x3ab9c5)
    #4 cronet::CronetURLRequestContext::CronetURLRequestContext(std::__1::unique_ptr<cronet::URLRequestContextConfig, std::__1::default_delete<cronet::URLRequestContextConfig> >, std::__1::unique_ptr<cronet::CronetURLRequestContext::Callback, std::__1::default_delete<cronet::CronetURLRequestContext::Callback> >) components/cronet/cronet_url_request_context.cc:188:19 (libcronet.so+0x2c1fca)
    #5 make_unique<cronet::CronetURLRequestContext, std::__1::unique_ptr<cronet::URLRequestContextConfig, std::__1::default_delete<cronet::URLRequestContextConfig> >, std::__1::unique_ptr<cronet::Cronet_EngineImpl::Callback, std::__1::default_delete<cronet::Cronet_EngineImpl::Callback> > > buildtools/third_party/libc++/trunk/include/memory:3079:32 (libcronet.so+0x2d18ea)
    #6 cronet::Cronet_EngineImpl::StartWithParams(Cronet_EngineParams*) components/cronet/native/engine.cc:179 (libcronet.so+0x2d18ea)
    #7 Cronet_Engine_StartWithParams components/cronet/native/generated/cronet.idl_impl_interface.cc:262:16 (libcronet.so+0x2d8cc4)
    #8 (anonymous namespace)::EngineTest_InitDifferentEngines_Test::TestBody() components/cronet/native/test/engine_test.cc:53:3 (cronet_tests+0x3ec541)
    #9 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x549fcd)
    #10 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2661:11 (cronet_tests+0x54ab0d)
    #11 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2779:28 (cronet_tests+0x54b356)
    #12 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5036:43 (cronet_tests+0x55b926)
    #13 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (cronet_tests+0x55b22b)
    #14 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2314:46 (cronet_tests+0x641f46)
    #15 base::TestSuite::Run() base/test/test_suite.cc:275 (cronet_tests+0x641f46)
    #16 Invoke<base::TestSuite *> base/bind_internal.h:447:12 (cronet_tests+0x3e7ed8)
    #17 MakeItSo<int (base::TestSuite::*const &)(), base::TestSuite *> base/bind_internal.h:530 (cronet_tests+0x3e7ed8)
    #18 RunImpl<int (base::TestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<base::TestSuite> > &, 0> base/bind_internal.h:604 (cronet_tests+0x3e7ed8)
    #19 base::internal::Invoker<base::internal::BindState<int (base::TestSuite::*)(), base::internal::UnretainedWrapper<base::TestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:586 (cronet_tests+0x3e7ed8)
    #20 Run base/callback.h:95:12 (cronet_tests+0x645900)
    #21 base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback<int ()>, unsigned long, int, bool, base::OnceCallback<void ()>) base/test/launcher/unit_test_launcher.cc:225 (cronet_tests+0x645900)
    #22 base::LaunchUnitTests(int, char**, base::OnceCallback<int ()>) base/test/launcher/unit_test_launcher.cc:576:10 (cronet_tests+0x645713)
    #23 main components/cronet/run_all_unittests.cc:11:10 (cronet_tests+0x3e7e18)
SUMMARY: ThreadSanitizer: data race base/feature_list.cc in base::FeatureList::IsEnabled(base::Feature const&)


(for the 2nd one, I thought we set that already. Probably should disable that one and then circle back.)



mef, can I give this to you?
 

Comment 1 by mef@chromium.org, Apr 9 2018

Thanks for the report, I'll definitely look into those.

Comment 2 by mef@chromium.org, Apr 9 2018

Labels: -OS-Mac OS-Linux
Status: Assigned (was: Unconfirmed)

Comment 3 by mef@chromium.org, Apr 9 2018

The first one looks like an interesting race.

The second one is disabled on ASAN and MSAN, should disable on TSAN:

#if defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER) || \
    defined(OS_FUCHSIA)

The third one seems to suggest that base::FeatureList::IsEnabled should be initialized once before running tests instead of getting initialized by accessors.
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 10 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a8fc38f72151224ad8cc4582cda864a7721560bc

commit a8fc38f72151224ad8cc4582cda864a7721560bc
Author: Nico Weber <thakis@chromium.org>
Date: Tue Apr 10 02:20:11 2018

Remove msan, tsan test lists and just use asan test lists on all memory bots.

For example, angle_unittests wasn't running on the MSan bot, which wasn't
intentional.  If a test really doesn't work under e.g. TSan, it can
be added to the exceptions file instead.

For another example, https://chromium-review.googlesource.com/#/c/981787/
added cronet tests, but again not to msan.

Disable a few tests that don't pass on tsan or msan.

Bug:  830659 , 830648 ,830653, 830819 ,830944, 830945 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Icac81720f32c24497942b9c056c6d6999a866ec6
Reviewed-on: https://chromium-review.googlesource.com/987477
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549382}
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/chromeos/dbus/cras_audio_client_unittest.cc
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/testing/buildbot/test_suite_exceptions.pyl
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/testing/buildbot/test_suites.pyl
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/testing/buildbot/waterfalls.pyl
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/third_party/blink/renderer/platform/text/text_run_test.cc
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/ui/gl/gl_context_glx_unittest.cc
[modify] https://crrev.com/a8fc38f72151224ad8cc4582cda864a7721560bc/ui/gl/gl_image_shared_memory_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6cd2c3f855251596325b71c9f54eca411b70ead

commit b6cd2c3f855251596325b71c9f54eca411b70ead
Author: Misha Efimov <mef@google.com>
Date: Sat Apr 14 00:31:15 2018

[Cronet] Fix native tests failing on TSAN.

- Initialize FeatureList instance explicitly once.
- Synchronize access to executor thread in TestURLRequestCallback.
- Disable TestInitWithHugeAllocFails in tsan configuration/


Bug:  830819 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Id85ed9a04be8c2f3280de82bbf24f1ba4e68661b
Reviewed-on: https://chromium-review.googlesource.com/1001599
Commit-Queue: Misha Efimov <mef@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550831}
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/cronet_global_state_stubs.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/buffer_test.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/test_url_request_callback.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/test_url_request_callback.h
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/url_request_test.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/testing/buildbot/test_suite_exceptions.pyl

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6cd2c3f855251596325b71c9f54eca411b70ead

commit b6cd2c3f855251596325b71c9f54eca411b70ead
Author: Misha Efimov <mef@google.com>
Date: Sat Apr 14 00:31:15 2018

[Cronet] Fix native tests failing on TSAN.

- Initialize FeatureList instance explicitly once.
- Synchronize access to executor thread in TestURLRequestCallback.
- Disable TestInitWithHugeAllocFails in tsan configuration/


Bug:  830819 
Cq-Include-Trybots: master.tryserver.chromium.android:android_cronet_tester;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: Id85ed9a04be8c2f3280de82bbf24f1ba4e68661b
Reviewed-on: https://chromium-review.googlesource.com/1001599
Commit-Queue: Misha Efimov <mef@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550831}
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/cronet_global_state_stubs.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/buffer_test.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/test_url_request_callback.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/test_url_request_callback.h
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/components/cronet/native/test/url_request_test.cc
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/testing/buildbot/chromium.memory.json
[modify] https://crrev.com/b6cd2c3f855251596325b71c9f54eca411b70ead/testing/buildbot/test_suite_exceptions.pyl

Is this done?
Status: Fixed (was: Assigned)
...i think so

Sign in to add a comment