Data race in TabManagerTest.ShouldPurgeAtDefaultTime |
||
Issue descriptionunit_tests failing on chromium.memory/Linux TSan Tests Builders failed on: - Linux TSan Tests: https://build.chromium.org/p/chromium.memory/builders/Linux%20TSan%20Tests TabManagerTest.ShouldPurgeAtDefaultTime: https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14467 https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14529 https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14500 https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14467 the earliest I can see: https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14363 [ RUN ] TabManagerTest.ShouldPurgeAtDefaultTime Xlib: extension "RANDR" missing on display ":99". ================== WARNING: ThreadSanitizer: data race (pid=26039) Read of size 8 at 0x7b48000021b0 by thread T9 (mutexes: write M403489190794240480): #0 base::TestMockTimeTaskRunner::PostDelayedTask(base::Location const&, base::OnceCallback<void ()>, base::TimeDelta) base/test/test_mock_time_task_runner.cc:296:66 (unit_tests+0x68bf6fd) #1 base::TaskRunner::PostTask(base::Location const&, base::OnceCallback<void ()>) base/task_runner.cc:44:10 (unit_tests+0x78834aa) #2 content::AppCacheStorageImpl::DatabaseTask::CallRun(base::TimeTicks) content/browser/appcache/appcache_storage_impl.cc:229:15 (unit_tests+0x4db07e9) #3 Invoke<scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks> base/bind_internal.h:194:12 (unit_tests+0x4dc0296) #4 MakeItSo<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks> base/bind_internal.h:277 (unit_tests+0x4dc0296) #5 RunImpl<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), std::__1::tuple<scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks>, 0, 1> base/bind_internal.h:351 (unit_tests+0x4dc0296) #6 base::internal::Invoker<base::internal::BindState<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:319 (unit_tests+0x4dc0296) #7 Run base/callback.h:65:12 (unit_tests+0x77f5906) #8 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:57 (unit_tests+0x77f5906) #9 base::internal::TaskTracker::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:411:30 (unit_tests+0x7891bf7) #10 base::internal::TaskTrackerPosix::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (unit_tests+0x7892ec3) #11 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/test/scoped_task_environment.cc:239:49 (unit_tests+0x68bd734) #12 base::internal::TaskTracker::RunNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) base/task_scheduler/task_tracker.cc:311:3 (unit_tests+0x78910ca) #13 base::internal::SchedulerWorker::Thread::ThreadMain() base/task_scheduler/scheduler_worker.cc:72:41 (unit_tests+0x788ddc5) #14 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:75:13 (unit_tests+0x78a0c4d) Previous write of size 8 at 0x7b48000021b0 by main thread: #0 ForwardClocksUntilTickTime base/test/test_mock_time_task_runner.cc:355:14 (unit_tests+0x68bf015) #1 base::TestMockTimeTaskRunner::ProcessAllTasksNoLaterThan(base::TimeDelta) base/test/test_mock_time_task_runner.cc:343 (unit_tests+0x68bf015) #2 base::TestMockTimeTaskRunner::FastForwardBy(base::TimeDelta) base/test/test_mock_time_task_runner.cc:214:3 (unit_tests+0x68bed9d) #3 resource_coordinator::TabManagerTest_ShouldPurgeAtDefaultTime_Test::TestBody() chrome/browser/resource_coordinator/tab_manager_unittest.cc:565:17 (unit_tests+0x2dbccf3) #4 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c807d) #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2654:11 (unit_tests+0x43c8f7d) #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43c97c6) #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43d2be6) #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43d25e5) #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68c1986) #10 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68c1986) #11 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a24481) #12 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68b7da8) #13 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68b7da8) #14 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68b7da8) #15 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68b7da8) #16 Run base/callback.h:94:12 (unit_tests+0x68c4e06) #17 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68c4e06) #18 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68c4c83) #19 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68b7cdd) Location is heap block of size 344 at 0x7b4800002100 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:44:3 (unit_tests+0x223fee9) #1 MakeRefCounted<base::TestMockTimeTaskRunner> base/memory/scoped_refptr.h:90:12 (unit_tests+0x2dd1fc0) #2 resource_coordinator::TabManagerTest::TabManagerTest() chrome/browser/resource_coordinator/tab_manager_unittest.cc:248 (unit_tests+0x2dd1fc0) #3 TabManagerTest_ShouldPurgeAtDefaultTime_Test chrome/browser/resource_coordinator/tab_manager_unittest.cc:537:1 (unit_tests+0x2dd2454) #4 testing::internal::TestFactoryImpl<resource_coordinator::TabManagerTest_ShouldPurgeAtDefaultTime_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (unit_tests+0x2dd2454) #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c8eda) #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43c97c6) #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43d2be6) #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43d25e5) #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68c1986) #10 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68c1986) #11 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a24481) #12 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68b7da8) #13 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68b7da8) #14 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68b7da8) #15 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68b7da8) #16 Run base/callback.h:94:12 (unit_tests+0x68c4e06) #17 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68c4e06) #18 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68c4c83) #19 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68b7cdd) Mutex M403489190794240480 is already destroyed. Thread T9 'TaskSchedulerSc' (tid=26049, 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:921:3 (unit_tests+0x21d9433) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:114:13 (unit_tests+0x78a07d7) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:199:10 (unit_tests+0x78a06d5) #3 Initialize base/task_scheduler/scheduler_worker.cc:114:5 (unit_tests+0x788d950) #4 base::internal::SchedulerWorker::Thread::Create(scoped_refptr<base::internal::SchedulerWorker>) base/task_scheduler/scheduler_worker.cc:31 (unit_tests+0x788d950) #5 base::internal::SchedulerWorker::Start() base/task_scheduler/scheduler_worker.cc:202:13 (unit_tests+0x788d6e1) #6 base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() base/task_scheduler/scheduler_worker_pool_impl.cc:773:16 (unit_tests+0x7889b48) #7 MaintainAtLeastOneIdleWorkerLockRequired base/task_scheduler/scheduler_worker_pool_impl.cc:726:9 (unit_tests+0x788b663) #8 base::internal::SchedulerWorkerPoolImpl::WakeUpOneWorkerLockRequired() base/task_scheduler/scheduler_worker_pool_impl.cc:704 (unit_tests+0x788b663) #9 WakeUpOneWorker base/task_scheduler/scheduler_worker_pool_impl.cc:714:3 (unit_tests+0x7889fc9) #10 base::internal::SchedulerWorkerPoolImpl::OnCanScheduleSequence(scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool_impl.cc:253 (unit_tests+0x7889fc9) #11 base::internal::SchedulerWorkerPool::PostTaskWithSequenceNow(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool.cc:215:7 (unit_tests+0x7887542) #12 base::internal::SchedulerWorkerPool::PostTaskWithSequence(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool.cc:153:5 (unit_tests+0x78872f9) #13 base::internal::TaskSchedulerImpl::PostDelayedTaskWithTraits(base::Location const&, base::TaskTraits const&, base::OnceCallback<void ()>, base::TimeDelta) base/task_scheduler/task_scheduler_impl.cc:120:9 (unit_tests+0x7885cc7) #14 PostDelayedTaskWithTraits base/task_scheduler/post_task.cc:76:33 (unit_tests+0x7884323) #15 base::PostTaskWithTraits(base::Location const&, base::TaskTraits const&, base::OnceCallback<void ()>) base/task_scheduler/post_task.cc:65 (unit_tests+0x7884323) #16 ui::X11HotplugEventHandler::OnHotplugEvent() ui/events/platform/x11/x11_hotplug_event_handler.cc:478:3 (unit_tests+0x85325d3) #17 ui::X11EventSource::OnDispatcherListChanged() ui/events/platform/x11/x11_event_source.cc:297:29 (unit_tests+0x8530fcf) #18 OnDispatcherListChanged ui/events/platform/x11/x11_event_source_glib.cc:73:17 (unit_tests+0x8534efd) #19 non-virtual thunk to ui::X11EventSourceGlib::OnDispatcherListChanged() ui/events/platform/x11/x11_event_source_glib.cc (unit_tests+0x8534efd) #20 ui::PlatformEventSource::AddPlatformEventDispatcher(ui::PlatformEventDispatcher*) ui/events/platform/platform_event_source.cc:50:3 (unit_tests+0x8375d1f) #21 aura::WindowTreeHostX11::WindowTreeHostX11(gfx::Rect const&) ui/aura/window_tree_host_x11.cc:130:45 (unit_tests+0x9208e4e) #22 aura::WindowTreeHost::Create(gfx::Rect const&) ui/aura/window_tree_host_x11.cc:557:14 (unit_tests+0x920aa3a) #23 aura::TestScreen::CreateHostForPrimaryDisplay() ui/aura/test/test_screen.cc:52:9 (unit_tests+0x763b56d) #24 aura::test::AuraTestHelper::SetUp(ui::ContextFactory*, ui::ContextFactoryPrivate*) ui/aura/test/aura_test_helper.cc:139:31 (unit_tests+0x7636bc5) #25 content::RenderViewHostTestHarness::SetUp() content/public/test/test_renderer_host.cc:269:22 (unit_tests+0x6a2079b) #26 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c7f86) #27 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2654:11 (unit_tests+0x43c8f7d) #28 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43c97c6) #29 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43d2be6) #30 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43d25e5) #31 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68c1986) #32 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68c1986) #33 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a24481) #34 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68b7da8) #35 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68b7da8) #36 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68b7da8) #37 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68b7da8) #38 Run base/callback.h:94:12 (unit_tests+0x68c4e06) #39 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68c4e06) #40 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68c4c83) #41 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68b7cdd) SUMMARY: ThreadSanitizer: data race base/test/test_mock_time_task_runner.cc:296:66 in base::TestMockTimeTaskRunner::PostDelayedTask(base::Location const&, base::OnceCallback<void ()>, base::TimeDelta) ================== [ OK ] TabManagerTest.ShouldPurgeAtDefaultTime (1390 ms) [----------] 1 test from TabManagerTest (1392 ms total) [----------] Global test environment tear-down
,
Nov 22 2017
,
Nov 28 2017
Looks like there's another data race in TabManagerTest, this time TabManagerTest.DiscardTabWithNonVisibleTabs. See https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests/builds/14800 on the buildbot https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20TSan%20Tests. Log output from failure: [ RUN ] TabManagerTest.DiscardTabWithNonVisibleTabs Xlib: extension "RANDR" missing on display ":99". ================== WARNING: ThreadSanitizer: data race (pid=10677) Read of size 8 at 0x7b48000021b0 by thread T9 (mutexes: write M366897443821855200): #0 base::TestMockTimeTaskRunner::PostDelayedTask(base::Location const&, base::OnceCallback<void ()>, base::TimeDelta) base/test/test_mock_time_task_runner.cc:296:66 (unit_tests+0x68de3ad) #1 base::TaskRunner::PostTask(base::Location const&, base::OnceCallback<void ()>) base/task_runner.cc:44:10 (unit_tests+0x78a539a) #2 content::AppCacheStorageImpl::DatabaseTask::CallRun(base::TimeTicks) content/browser/appcache/appcache_storage_impl.cc:229:15 (unit_tests+0x4dbb0a9) #3 Invoke<scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks> base/bind_internal.h:194:12 (unit_tests+0x4dcab56) #4 MakeItSo<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks> base/bind_internal.h:277 (unit_tests+0x4dcab56) #5 RunImpl<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), std::__1::tuple<scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks>, 0, 1> base/bind_internal.h:351 (unit_tests+0x4dcab56) #6 base::internal::Invoker<base::internal::BindState<void (content::AppCacheStorageImpl::DatabaseTask::*)(base::TimeTicks), scoped_refptr<content::AppCacheStorageImpl::DatabaseTask>, base::TimeTicks>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:319 (unit_tests+0x4dcab56) #7 Run base/callback.h:65:12 (unit_tests+0x7817826) #8 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:57 (unit_tests+0x7817826) #9 base::internal::TaskTracker::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/task_scheduler/task_tracker.cc:409:30 (unit_tests+0x78b3ae7) #10 base::internal::TaskTrackerPosix::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/task_scheduler/task_tracker_posix.cc:23:16 (unit_tests+0x78b4da3) #11 base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, base::internal::Sequence*, bool) base/test/scoped_task_environment.cc:273:49 (unit_tests+0x68dc504) #12 base::internal::TaskTracker::RunNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) base/task_scheduler/task_tracker.cc:311:3 (unit_tests+0x78b2fcd) #13 base::internal::SchedulerWorker::Thread::ThreadMain() base/task_scheduler/scheduler_worker.cc:72:41 (unit_tests+0x78afcb5) #14 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:75:13 (unit_tests+0x78c2b2d) Previous write of size 8 at 0x7b48000021b0 by main thread: #0 ForwardClocksUntilTickTime base/test/test_mock_time_task_runner.cc:355:14 (unit_tests+0x68ddcc5) #1 base::TestMockTimeTaskRunner::ProcessAllTasksNoLaterThan(base::TimeDelta) base/test/test_mock_time_task_runner.cc:343 (unit_tests+0x68ddcc5) #2 base::TestMockTimeTaskRunner::FastForwardBy(base::TimeDelta) base/test/test_mock_time_task_runner.cc:214:3 (unit_tests+0x68dda4d) #3 resource_coordinator::TabManagerTest_DiscardTabWithNonVisibleTabs_Test::TestBody() chrome/browser/resource_coordinator/tab_manager_unittest.cc:703:17 (unit_tests+0x2db10c7) #4 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43be58d) #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2654:11 (unit_tests+0x43bf48d) #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43bfcd6) #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43c90f6) #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c8af5) #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68e0636) #10 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68e0636) #11 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a43211) #12 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68d6e18) #13 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68d6e18) #14 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68d6e18) #15 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68d6e18) #16 Run base/callback.h:94:12 (unit_tests+0x68e3ab6) #17 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68e3ab6) #18 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68e3933) #19 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68d6d4d) Location is heap block of size 344 at 0x7b4800002100 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:44:3 (unit_tests+0x2253ee9) #1 MakeRefCounted<base::TestMockTimeTaskRunner> base/memory/scoped_refptr.h:90:12 (unit_tests+0x2dc3e20) #2 resource_coordinator::TabManagerTest::TabManagerTest() chrome/browser/resource_coordinator/tab_manager_unittest.cc:248 (unit_tests+0x2dc3e20) #3 TabManagerTest_DiscardTabWithNonVisibleTabs_Test chrome/browser/resource_coordinator/tab_manager_unittest.cc:673:1 (unit_tests+0x2dc4434) #4 testing::internal::TestFactoryImpl<resource_coordinator::TabManagerTest_DiscardTabWithNonVisibleTabs_Test>::CreateTest() third_party/googletest/src/googletest/include/gtest/internal/gtest-internal.h:484 (unit_tests+0x2dc4434) #5 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43bf3ea) #6 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43bfcd6) #7 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43c90f6) #8 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c8af5) #9 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68e0636) #10 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68e0636) #11 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a43211) #12 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68d6e18) #13 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68d6e18) #14 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68d6e18) #15 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68d6e18) #16 Run base/callback.h:94:12 (unit_tests+0x68e3ab6) #17 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68e3ab6) #18 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68e3933) #19 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68d6d4d) Mutex M366897443821855200 is already destroyed. Thread T9 'TaskSchedulerSc' (tid=10687, 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:921:3 (unit_tests+0x21ed433) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:114:13 (unit_tests+0x78c26b7) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:199:10 (unit_tests+0x78c25b5) #3 Initialize base/task_scheduler/scheduler_worker.cc:114:5 (unit_tests+0x78af840) #4 base::internal::SchedulerWorker::Thread::Create(scoped_refptr<base::internal::SchedulerWorker>) base/task_scheduler/scheduler_worker.cc:31 (unit_tests+0x78af840) #5 base::internal::SchedulerWorker::Start() base/task_scheduler/scheduler_worker.cc:202:13 (unit_tests+0x78af5d1) #6 base::internal::SchedulerWorkerPoolImpl::CreateRegisterAndStartSchedulerWorkerLockRequired() base/task_scheduler/scheduler_worker_pool_impl.cc:773:16 (unit_tests+0x78aba38) #7 MaintainAtLeastOneIdleWorkerLockRequired base/task_scheduler/scheduler_worker_pool_impl.cc:726:9 (unit_tests+0x78ad553) #8 base::internal::SchedulerWorkerPoolImpl::WakeUpOneWorkerLockRequired() base/task_scheduler/scheduler_worker_pool_impl.cc:704 (unit_tests+0x78ad553) #9 WakeUpOneWorker base/task_scheduler/scheduler_worker_pool_impl.cc:714:3 (unit_tests+0x78abeb9) #10 base::internal::SchedulerWorkerPoolImpl::OnCanScheduleSequence(scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool_impl.cc:253 (unit_tests+0x78abeb9) #11 base::internal::SchedulerWorkerPool::PostTaskWithSequenceNow(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool.cc:215:7 (unit_tests+0x78a9432) #12 base::internal::SchedulerWorkerPool::PostTaskWithSequence(std::__1::unique_ptr<base::internal::Task, std::__1::default_delete<base::internal::Task> >, scoped_refptr<base::internal::Sequence>) base/task_scheduler/scheduler_worker_pool.cc:153:5 (unit_tests+0x78a91e9) #13 base::internal::TaskSchedulerImpl::PostDelayedTaskWithTraits(base::Location const&, base::TaskTraits const&, base::OnceCallback<void ()>, base::TimeDelta) base/task_scheduler/task_scheduler_impl.cc:120:9 (unit_tests+0x78a7bb7) #14 PostDelayedTaskWithTraits base/task_scheduler/post_task.cc:76:33 (unit_tests+0x78a6213) #15 base::PostTaskWithTraits(base::Location const&, base::TaskTraits const&, base::OnceCallback<void ()>) base/task_scheduler/post_task.cc:65 (unit_tests+0x78a6213) #16 ui::X11HotplugEventHandler::OnHotplugEvent() ui/events/platform/x11/x11_hotplug_event_handler.cc:478:3 (unit_tests+0x855d323) #17 ui::X11EventSource::OnDispatcherListChanged() ui/events/platform/x11/x11_event_source.cc:297:29 (unit_tests+0x855bd1f) #18 OnDispatcherListChanged ui/events/platform/x11/x11_event_source_glib.cc:73:17 (unit_tests+0x855fc4d) #19 non-virtual thunk to ui::X11EventSourceGlib::OnDispatcherListChanged() ui/events/platform/x11/x11_event_source_glib.cc (unit_tests+0x855fc4d) #20 ui::PlatformEventSource::AddPlatformEventDispatcher(ui::PlatformEventDispatcher*) ui/events/platform/platform_event_source.cc:50:3 (unit_tests+0x839febf) #21 aura::WindowTreeHostX11::WindowTreeHostX11(gfx::Rect const&) ui/aura/window_tree_host_x11.cc:130:45 (unit_tests+0x923d4ce) #22 aura::WindowTreeHost::Create(gfx::Rect const&) ui/aura/window_tree_host_x11.cc:557:14 (unit_tests+0x923f0ba) #23 aura::TestScreen::CreateHostForPrimaryDisplay() ui/aura/test/test_screen.cc:52:9 (unit_tests+0x765d21d) #24 aura::test::AuraTestHelper::SetUp(ui::ContextFactory*, ui::ContextFactoryPrivate*) ui/aura/test/aura_test_helper.cc:145:33 (unit_tests+0x7658726) #25 content::RenderViewHostTestHarness::SetUp() content/public/test/test_renderer_host.cc:269:22 (unit_tests+0x6a3f51b) #26 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43be496) #27 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2654:11 (unit_tests+0x43bf48d) #28 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2772:28 (unit_tests+0x43bfcd6) #29 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:4677:43 (unit_tests+0x43c90f6) #30 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc (unit_tests+0x43c8af5) #31 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2237:46 (unit_tests+0x68e0636) #32 base::TestSuite::Run() base/test/test_suite.cc:272 (unit_tests+0x68e0636) #33 content::UnitTestTestSuite::Run() content/public/test/unittest_test_suite.cc:45:23 (unit_tests+0x6a43211) #34 Invoke<content::UnitTestTestSuite *> base/bind_internal.h:194:12 (unit_tests+0x68d6e18) #35 MakeItSo<int (content::UnitTestTestSuite::*const &)(), content::UnitTestTestSuite *> base/bind_internal.h:277 (unit_tests+0x68d6e18) #36 RunImpl<int (content::UnitTestTestSuite::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::UnitTestTestSuite> > &, 0> base/bind_internal.h:351 (unit_tests+0x68d6e18) #37 base::internal::Invoker<base::internal::BindState<int (content::UnitTestTestSuite::*)(), base::internal::UnretainedWrapper<content::UnitTestTestSuite> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:333 (unit_tests+0x68d6e18) #38 Run base/callback.h:94:12 (unit_tests+0x68e3ab6) #39 base::(anonymous namespace)::LaunchUnitTestsInternal(base::RepeatingCallback<int ()> const&, unsigned long, int, bool, base::RepeatingCallback<void ()> const&) base/test/launcher/unit_test_launcher.cc:217 (unit_tests+0x68e3ab6) #40 base::LaunchUnitTests(int, char**, base::RepeatingCallback<int ()> const&) base/test/launcher/unit_test_launcher.cc:555:10 (unit_tests+0x68e3933) #41 main chrome/test/base/run_all_unittests.cc:30:10 (unit_tests+0x68d6d4d) SUMMARY: ThreadSanitizer: data race base/test/test_mock_time_task_runner.cc:296:66 in base::TestMockTimeTaskRunner::PostDelayedTask(base::Location const&, base::OnceCallback<void ()>, base::TimeDelta) ================== [ OK ] TabManagerTest.DiscardTabWithNonVisibleTabs (1209 ms)
,
Nov 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6f950fa126cc0959cf2ef633055343dab3daa0f6 commit 6f950fa126cc0959cf2ef633055343dab3daa0f6 Author: Scott Little <sclittle@chromium.org> Date: Tue Nov 28 23:20:19 2017 Disable TabManagerTest.DiscardTabWithNonVisibleTabs on Linux. This test has a data race; see bug for more info. TBR=chrisha@chromium.org Bug: 787842 Change-Id: I299403b8c4f2c2744b4c7d7a0173759bd7a65925 Reviewed-on: https://chromium-review.googlesource.com/794841 Reviewed-by: Scott Little <sclittle@chromium.org> Commit-Queue: Scott Little <sclittle@chromium.org> Cr-Commit-Position: refs/heads/master@{#519892} [modify] https://crrev.com/6f950fa126cc0959cf2ef633055343dab3daa0f6/chrome/browser/resource_coordinator/tab_manager_unittest.cc |
||
►
Sign in to add a comment |
||
Comment 1 by olka@chromium.org
, Nov 22 2017Status: Assigned (was: Available)