New issue
Advanced search Search tips

Issue 709559 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 709112
Owner:
Closed: Apr 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

WebRtcGetUserMediaBrowserTest.TwoGetUserMedia* tests fail under TSAN

Project Member Reported by lukasza@chromium.org, Apr 7 2017

Issue description

Owner: guidou@chromium.org
Status: Assigned (was: Untriaged)
guidou@ - could you PTAL?  Feel free to resolve as a dupe of  issue 706408  if we just plan to remove the test soon.

Comment 2 by creis@chromium.org, Apr 8 2017

Labels: -Pri-3 Pri-1
Summary: WebRtcGetUserMediaBrowserTest.TwoGetUserMedia* tests fail under TSAN (was: WebRtcGetUserMediaBrowserTest.TwoGetUserMediaWithFirstHdSecondVgaOldConstraints fails under TSAN)
There's a large number of WebRtcGetUserMediaBrowserTests failing in this way on the TSan bot:

TwoGetUserMediaWithFirstHdSecondVga in build 3839
TwoGetUserMediaWithFirstHdSecondVgaOldConstraints in build 3834 and 3826
TwoGetUserMediaWithSecondVideoCroppedOldConstraints in build 3825
TwoGetUserMediaWithSecondVideoCropped in build 3832

Please fix or disable them ASAP.  Thanks!

Example test output below, for the record (since it has detailed information about the race):

WebRtcGetUserMediaBrowserTest.TwoGetUserMediaWithFirstHdSecondVga (run #1):
[ RUN      ] WebRtcGetUserMediaBrowserTest.TwoGetUserMediaWithFirstHdSecondVga
[24151:24151:0407/161200.715548:24804560048:WARNING:audio_manager.cc(295)] Multiple instances of AudioManager detected
[24151:24151:0407/161200.715769:24804560218:WARNING:audio_manager.cc(254)] Multiple instances of AudioManager detected
Xlib:  extension "RANDR" missing on display ":99".
==================
WARNING: ThreadSanitizer: data race (pid=24151)
  Write of size 8 at 0x00000974cb50 by main thread:
    #0 base::FeatureList::ClearInstanceForTesting() base/feature_list.cc:284:14 (content_browsertests+0x2c3b663)
    #1 base::test::ScopedFeatureList::InitWithFeatureList(std::__1::unique_ptr<base::FeatureList, std::__1::default_delete<base::FeatureList> >) base/test/scoped_feature_list.cc:53:28 (content_browsertests+0x2760c56)
    #2 InitFromCommandLine base/test/scoped_feature_list.cc:62:3 (content_browsertests+0x2760e97)
    #3 base::test::ScopedFeatureList::InitAndDisableFeature(base::Feature const&) base/test/scoped_feature_list.cc:70 (content_browsertests+0x2760e97)
    #4 content::WebRtcGetUserMediaBrowserTest_TwoGetUserMediaWithFirstHdSecondVga_Test::RunTestOnMainThread() content/browser/webrtc/webrtc_getusermedia_browsertest.cc:562:23 (content_browsertests+0xa9c407)
    #5 content::ContentBrowserTest::RunTestOnMainThreadLoop() content/public/test/content_browser_test.cc:138:3 (content_browsertests+0x2722bd8)
    #6 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:346:5 (content_browsertests+0x272ffd5)
    #7 Invoke<content::BrowserTestBase *> base/bind_internal.h:214:12 (content_browsertests+0x2730b95)
    #8 MakeItSo<void (content::BrowserTestBase::*const &)(), content::BrowserTestBase *> base/bind_internal.h:285 (content_browsertests+0x2730b95)
    #9 RunImpl<void (content::BrowserTestBase::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase> > &, 0> base/bind_internal.h:361 (content_browsertests+0x2730b95)
    #10 base::internal::Invoker<base::internal::BindState<void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (content_browsertests+0x2730b95)
    #11 Run base/callback.h:80:12 (content_browsertests+0x27be8f1)
    #12 content::ShellBrowserMainParts::PreMainMessageLoopRun() content/shell/browser/shell_browser_main_parts.cc:196 (content_browsertests+0x27be8f1)
    #13 content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:1157:13 (content_browsertests+0x1fd8b30)
    #14 Invoke<content::BrowserMainLoop *> base/bind_internal.h:214:12 (content_browsertests+0x1fdbcd5)
    #15 MakeItSo<int (content::BrowserMainLoop::*const &)(), content::BrowserMainLoop *> base/bind_internal.h:285 (content_browsertests+0x1fdbcd5)
    #16 RunImpl<int (content::BrowserMainLoop::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserMainLoop> > &, 0> base/bind_internal.h:361 (content_browsertests+0x1fdbcd5)
    #17 base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (content_browsertests+0x1fdbcd5)
    #18 Run base/callback.h:80:12 (content_browsertests+0x24a36fc)
    #19 content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:45 (content_browsertests+0x24a36fc)
    #20 content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:955:25 (content_browsertests+0x1fd68f3)
    #21 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner.cc:125:17 (content_browsertests+0x1fdc596)
    #22 ShellBrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserMainRunner, std::__1::default_delete<content::BrowserMainRunner> > const&) content/shell/browser/shell_browser_main.cc:23:32 (content_browsertests+0x279a487)
    #23 content::ShellMainDelegate::RunProcess(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&) content/shell/app/shell_main_delegate.cc:297:16 (content_browsertests+0x278cc73)
    #24 content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:424:35 (content_browsertests+0x1ec439b)
    #25 content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:729:12 (content_browsertests+0x1ec4ef4)
    #26 content::ContentServiceManagerMainDelegate::Run() content/app/content_service_manager_main_delegate.cc:36:32 (content_browsertests+0xfadd4f)
    #27 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:179:25 (content_browsertests+0x4109f2c)
    #28 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (content_browsertests+0xfadeab)
    #29 content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:312:3 (content_browsertests+0x272fc4f)
    #30 content::ContentBrowserTest::SetUp() content/public/test/content_browser_test.cc:94:20 (content_browsertests+0x2722a56)
    #31 content::WebRtcContentBrowserTestBase::SetUp() content/browser/webrtc/webrtc_content_browsertest_base.cc:47:23 (content_browsertests+0xa950b1)
    #32 HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x29d17c6)
    #33 testing::Test::Run() testing/gtest/src/gtest.cc:2470 (content_browsertests+0x29d17c6)
    #34 testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:11 (content_browsertests+0x29d266d)
    #35 testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:28 (content_browsertests+0x29d2db6)
    #36 testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4647:43 (content_browsertests+0x29ddab6)
    #37 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x29dd3e2)
    #38 testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255 (content_browsertests+0x29dd3e2)
    #39 RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:46 (content_browsertests+0x2761477)
    #40 base::TestSuite::Run() base/test/test_suite.cc:271 (content_browsertests+0x2761477)
    #41 content::ContentTestLauncherDelegate::RunTestSuite(int, char**) content/test/content_test_launcher.cc:105:48 (content_browsertests+0x272795b)
    #42 content::LaunchTests(content::TestLauncherDelegate*, int, int, char**) content/public/test/test_launcher.cc:520:31 (content_browsertests+0x274d29d)
    #43 main content/test/content_test_launcher.cc:131:10 (content_browsertests+0x27278e2)

  Previous read of size 8 at 0x00000974cb50 by thread T17:
    #0 base::FeatureList::IsEnabled(base::Feature const&) base/feature_list.cc:218:8 (content_browsertests+0x2c3b206)
    #1 net::CertVerifyProc::CertVerifyProc() net/cert/cert_verify_proc.cc:523:32 (content_browsertests+0x36ec25b)
    #2 net::CertVerifyProcNSS::CertVerifyProcNSS() net/cert/cert_verify_proc_nss.cc:769:20 (content_browsertests+0x36edd2d)
    #3 net::CertVerifyProc::CreateDefault() net/cert/cert_verify_proc.cc:506:14 (content_browsertests+0x36ec1f3)
    #4 net::CertVerifier::CreateDefault() net/cert/cert_verifier.cc:86:11 (content_browsertests+0x369bc6a)
    #5 content::ShellURLRequestContextGetter::GetURLRequestContext() content/shell/browser/shell_url_request_context_getter.cc:166:33 (content_browsertests+0x27c32a5)
    #6 content::ChromeAppCacheService::InitializeOnIOThread(base::FilePath const&, content::ResourceContext*, net::URLRequestContextGetter*, scoped_refptr<storage::SpecialStoragePolicy>) content/browser/appcache/chrome_appcache_service.cc:44:49 (content_browsertests+0x1f8ea2c)
    #7 Invoke<const scoped_refptr<content::ChromeAppCacheService> &, const base::FilePath &, content::ResourceContext *const &, net::URLRequestContextGetter *, storage::SpecialStoragePolicy *> base/bind_internal.h:214:12 (content_browsertests+0x24aca8c)
    #8 MakeItSo<void (content::ChromeAppCacheService::*const &)(const base::FilePath &, content::ResourceContext *, net::URLRequestContextGetter *, scoped_refptr<storage::SpecialStoragePolicy>), const scoped_refptr<content::ChromeAppCacheService> &, const base::FilePath &, content::ResourceContext *const &, net::URLRequestContextGetter *, storage::SpecialStoragePolicy *> base/bind_internal.h:285 (content_browsertests+0x24aca8c)
    #9 RunImpl<void (content::ChromeAppCacheService::*const &)(const base::FilePath &, content::ResourceContext *, net::URLRequestContextGetter *, scoped_refptr<storage::SpecialStoragePolicy>), const std::__1::tuple<scoped_refptr<content::ChromeAppCacheService>, base::FilePath, content::ResourceContext *, base::internal::RetainedRefWrapper<net::URLRequestContextGetter>, base::internal::RetainedRefWrapper<storage::SpecialStoragePolicy> > &, 0, 1, 2, 3, 4> base/bind_internal.h:361 (content_browsertests+0x24aca8c)
    #10 base::internal::Invoker<base::internal::BindState<void (content::ChromeAppCacheService::*)(base::FilePath const&, content::ResourceContext*, net::URLRequestContextGetter*, scoped_refptr<storage::SpecialStoragePolicy>), scoped_refptr<content::ChromeAppCacheService>, base::FilePath, content::ResourceContext*, base::internal::RetainedRefWrapper<net::URLRequestContextGetter>, base::internal::RetainedRefWrapper<storage::SpecialStoragePolicy> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (content_browsertests+0x24aca8c)
    #11 Run base/callback.h:91:12 (content_browsertests+0x2d109cc)
    #12 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:59 (content_browsertests+0x2d109cc)
    #13 base::MessageLoop::RunTask(base::PendingTask*) base/message_loop/message_loop.cc:423:19 (content_browsertests+0x2c60522)
    #14 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) base/message_loop/message_loop.cc:434:5 (content_browsertests+0x2c60aed)
    #15 base::MessageLoop::DoWork() base/message_loop/message_loop.cc:527:13 (content_browsertests+0x2c612c4)
    #16 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_libevent.cc:219:31 (content_browsertests+0x2c663a0)
    #17 base::MessageLoop::RunHandler() base/message_loop/message_loop.cc:387:10 (content_browsertests+0x2c6000b)
    #18 base::RunLoop::Run() base/run_loop.cc:37:10 (content_browsertests+0x2c8f789)
    #19 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (content_browsertests+0x2cc60a9)
    #20 content::BrowserThreadImpl::IOThreadRun(base::RunLoop*) content/browser/browser_thread_impl.cc:278:11 (content_browsertests+0x1fe993f)
    #21 content::BrowserThreadImpl::Run(base::RunLoop*) content/browser/browser_thread_impl.cc:313:14 (content_browsertests+0x1fe9b62)
    #22 base::Thread::ThreadMain() base/threading/thread.cc:333:3 (content_browsertests+0x2cc62f4)
    #23 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:71:13 (content_browsertests+0x2cbe70d)

  Location is global 'base::(anonymous namespace)::g_instance' of size 8 at 0x00000974cb50 (content_browsertests+0x00000974cb50)

  Thread T17 'Chrome_IOThread' (tid=24175, running) created by main thread at:
    #0 pthread_create <null> (content_browsertests+0x4bd345)
    #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:110:13 (content_browsertests+0x2cbe297)
    #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:191:10 (content_browsertests+0x2cbe195)
    #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (content_browsertests+0x2cc5bcf)
    #4 content::BrowserThreadImpl::StartWithOptions(base::Thread::Options const&) content/browser/browser_thread_impl.cc:404:25 (content_browsertests+0x1fea14a)
    #5 content::BrowserMainLoop::CreateThreads() content/browser/browser_main_loop.cc:1130:32 (content_browsertests+0x1fd76a0)
    #6 Invoke<content::BrowserMainLoop *> base/bind_internal.h:214:12 (content_browsertests+0x1fdbcd5)
    #7 MakeItSo<int (content::BrowserMainLoop::*const &)(), content::BrowserMainLoop *> base/bind_internal.h:285 (content_browsertests+0x1fdbcd5)
    #8 RunImpl<int (content::BrowserMainLoop::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserMainLoop> > &, 0> base/bind_internal.h:361 (content_browsertests+0x1fdbcd5)
    #9 base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:339 (content_browsertests+0x1fdbcd5)
    #10 Run base/callback.h:80:12 (content_browsertests+0x24a36fc)
    #11 content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:45 (content_browsertests+0x24a36fc)
    #12 content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:955:25 (content_browsertests+0x1fd68f3)
    #13 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner.cc:125:17 (content_browsertests+0x1fdc596)
    #14 ShellBrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserMainRunner, std::__1::default_delete<content::BrowserMainRunner> > const&) content/shell/browser/shell_browser_main.cc:23:32 (content_browsertests+0x279a487)
    #15 content::ShellMainDelegate::RunProcess(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&) content/shell/app/shell_main_delegate.cc:297:16 (content_browsertests+0x278cc73)
    #16 content::RunNamedProcessTypeMain(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, content::MainFunctionParams const&, content::ContentMainDelegate*) content/app/content_main_runner.cc:424:35 (content_browsertests+0x1ec439b)
    #17 content::ContentMainRunnerImpl::Run() content/app/content_main_runner.cc:729:12 (content_browsertests+0x1ec4ef4)
    #18 content::ContentServiceManagerMainDelegate::Run() content/app/content_service_manager_main_delegate.cc:36:32 (content_browsertests+0xfadd4f)
    #19 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:179:25 (content_browsertests+0x4109f2c)
    #20 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (content_browsertests+0xfadeab)
    #21 content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:312:3 (content_browsertests+0x272fc4f)
    #22 content::ContentBrowserTest::SetUp() content/public/test/content_browser_test.cc:94:20 (content_browsertests+0x2722a56)
    #23 content::WebRtcContentBrowserTestBase::SetUp() content/browser/webrtc/webrtc_content_browsertest_base.cc:47:23 (content_browsertests+0xa950b1)
    #24 HandleExceptionsInMethodIfSupported<testing::Test, void> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x29d17c6)
    #25 testing::Test::Run() testing/gtest/src/gtest.cc:2470 (content_browsertests+0x29d17c6)
    #26 testing::TestInfo::Run() testing/gtest/src/gtest.cc:2656:11 (content_browsertests+0x29d266d)
    #27 testing::TestCase::Run() testing/gtest/src/gtest.cc:2774:28 (content_browsertests+0x29d2db6)
    #28 testing::internal::UnitTestImpl::RunAllTests() testing/gtest/src/gtest.cc:4647:43 (content_browsertests+0x29ddab6)
    #29 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> testing/gtest/src/gtest.cc:2458:12 (content_browsertests+0x29dd3e2)
    #30 testing::UnitTest::Run() testing/gtest/src/gtest.cc:4255 (content_browsertests+0x29dd3e2)
    #31 RUN_ALL_TESTS testing/gtest/include/gtest/gtest.h:2237:46 (content_browsertests+0x2761477)
    #32 base::TestSuite::Run() base/test/test_suite.cc:271 (content_browsertests+0x2761477)
    #33 content::ContentTestLauncherDelegate::RunTestSuite(int, char**) content/test/content_test_launcher.cc:105:48 (content_browsertests+0x272795b)
    #34 content::LaunchTests(content::TestLauncherDelegate*, int, int, char**) content/public/test/test_launcher.cc:520:31 (content_browsertests+0x274d29d)
    #35 main content/test/content_test_launcher.cc:131:10 (content_browsertests+0x27278e2)

SUMMARY: ThreadSanitizer: data race base/feature_list.cc:284:14 in base::FeatureList::ClearInstanceForTesting()
==================
[       OK ] WebRtcGetUserMediaBrowserTest.TwoGetUserMediaWithFirstHdSecondVga (34260 ms)
[----------] 1 test from WebRtcGetUserMediaBrowserTest (34260 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (34260 ms total)
[  PASSED  ] 1 test.
ThreadSanitizer: reported 1 warnings
ThreadSanitizer: Matched 1 suppressions (pid=24151):
1 deadlock:dbus::Bus::ShutdownAndBlock

Comment 3 by creis@chromium.org, Apr 8 2017

Components: Blink>WebRTC
AFAICT, the TwoGetUserMedia* tests stopped flaking after a fix I landed yesterday.

There are other WebRtc browser tests flaking, but they are unrelated to the TwoGetUserMedia* flakes. They were flaking from before:
https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/3714
Mergedinto: 709112
Status: Duplicate (was: Assigned)

Sign in to add a comment