Issue metadata
Sign in to add a comment
|
TwoClientTypedUrlsSyncTest.AddThenExpireVisitByVisit very flaky, TwoClientTypedUrlsSyncTest.AddThenExpireThenAddAgain somewhat flaky after clang roll |
||||||||||||||||||||||||
Issue descriptionsync_integration_tests got pretyt flaky after yesterday's clang roll ( issue 904337 ), mostly due to TwoClientTypedUrlsSyncTest.AddThenExpireThenAddAgain. examples: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/31442 https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/31437 https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/31429 https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests/31430 https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Linux%20TSan%20Tests The stack is similar to issue 913702 , where we determined that accessing the history db from several threads isn't safe. It looks like here the test somehow creates two history db threads? [ RUN ] TwoClientTypedUrlsSyncTest.AddThenExpireVisitByVisit [21427:21427:1221/011459.943787:19403478098:WARNING:loopback_server.cc(719)] Loopback sync persistent state file does not exist. Xlib: extension "RANDR" missing on display ":99". [21427:21427:1221/011502.552637:ERROR:browser_dm_token_storage_linux.cc(101)] Error: /etc/machine-id contains 0 characters (32 were expected). [21427:21580:1221/011503.316010:ERROR:bus.cc(396)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix") [21427:21427:1221/011503.397674:WARNING:password_store_factory.cc(261)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options. (sync_integration_tests:21427): LIBDBUSMENU-GLIB-WARNING **: Unable to get session bus: Unknown or unsupported transport 'disabled' for address 'disabled:' [21427:21427:1221/011504.776215:WARNING:password_store_factory.cc(261)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options. [21427:21427:1221/011505.185700:WARNING:password_store_factory.cc(261)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options. [21427:21427:1221/011505.567537:WARNING:password_store_factory.cc(261)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options. [21427:21427:1221/011506.075022:ERROR:account_tracker.cc(263)] OnOAuthError [21427:21427:1221/011506.075119:WARNING:account_tracker.cc(189)] Failed to get UserInfo for gaia_id_for_user_gmail.com [21427:21665:1221/011506.085507:WARNING:sync_encryption_handler_impl.cc(1080)] Nigori had empty encryption keybag. [21427:21665:1221/011506.125441:WARNING:sync_encryption_handler_impl.cc(1080)] Nigori had empty encryption keybag. [21427:21427:1221/011506.403167:ERROR:account_tracker.cc(263)] OnOAuthError [21427:21427:1221/011506.403255:WARNING:account_tracker.cc(189)] Failed to get UserInfo for gaia_id_for_user_gmail.com ================== WARNING: ThreadSanitizer: data race (pid=21427) Write of size 4 at 0x56022d2c0040 by thread T32 (mutexes: write M127080505968916672): #0 pcache1FetchStage2 third_party/sqlite/amalgamation/sqlite3.c (sync_integration_tests+0x8ea9e1e) #1 pcache1FetchNoMutex third_party/sqlite/amalgamation/sqlite3.c:49514:12 (sync_integration_tests+0x8ea8525) #2 pcache1Fetch third_party/sqlite/amalgamation/sqlite3.c:49556 (sync_integration_tests+0x8ea8525) #3 sqlite3PcacheFetch third_party/sqlite/amalgamation/sqlite3.c:48011:10 (sync_integration_tests+0x8d6002e) #4 getPageNormal third_party/sqlite/amalgamation/sqlite3.c:55899 (sync_integration_tests+0x8d6002e) #5 sqlite3PagerGet third_party/sqlite/amalgamation/sqlite3.c:56078:10 (sync_integration_tests+0x8d3408c) #6 btreeGetPage third_party/sqlite/amalgamation/sqlite3.c:65059 (sync_integration_tests+0x8d3408c) #7 lockBtree third_party/sqlite/amalgamation/sqlite3.c:66017 (sync_integration_tests+0x8d3408c) #8 sqlite3BtreeBeginTrans third_party/sqlite/amalgamation/sqlite3.c:66389 (sync_integration_tests+0x8d3408c) #9 sqlite3VdbeExec third_party/sqlite/amalgamation/sqlite3.c:86712:10 (sync_integration_tests+0x8d7fcb8) #10 sqlite3Step third_party/sqlite/amalgamation/sqlite3.c:81415:10 (sync_integration_tests+0x8d3ae88) #11 chrome_sqlite3_step third_party/sqlite/amalgamation/sqlite3.c:81478 (sync_integration_tests+0x8d3ae88) #12 sql::Statement::StepInternal(bool) sql/statement.cc:71:13 (sync_integration_tests+0x8d254fc) #13 sql::Statement::Step() sql/statement.cc:97:10 (sync_integration_tests+0x8d2574e) #14 history::VisitDatabase::GetMostRecentVisitForURL(long, history::VisitRow*) components/history/core/browser/visit_database.cc:415:18 (sync_integration_tests+0x9b1e025) #15 history::ExpireHistoryBackend::ExpireURLsForVisits(std::__1::vector<history::VisitRow, std::__1::allocator<history::VisitRow> > const&, history::ExpireHistoryBackend::DeleteEffects*) components/history/core/browser/expire_history_backend.cc:491:19 (sync_integration_tests+0x9aed99a) #16 history::ExpireHistoryBackend::ExpireSomeOldHistory(base::Time, history::ExpiringVisitsReader const*, int) components/history/core/browser/expire_history_backend.cc:629:3 (sync_integration_tests+0x9aede93) #17 history::ExpireHistoryBackend::ExpireHistoryBeforeForTesting(base::Time) components/history/core/browser/expire_history_backend.cc:315:3 (sync_integration_tests+0x9aedd62) #18 history::HistoryBackend::ExpireHistoryBeforeForTesting(base::Time) components/history/core/browser/history_backend.cc:2534:12 (sync_integration_tests+0x9adb1f4) #19 Invoke<void (history::HistoryBackend::*)(base::Time), scoped_refptr<history::HistoryBackend>, base::Time> base/bind_internal.h:516:12 (sync_integration_tests+0x9acc6a6) #20 MakeItSo<void (history::HistoryBackend::*)(base::Time), scoped_refptr<history::HistoryBackend>, base::Time> base/bind_internal.h:616 (sync_integration_tests+0x9acc6a6) #21 RunImpl<void (history::HistoryBackend::*)(base::Time), std::__1::tuple<scoped_refptr<history::HistoryBackend>, base::Time>, 0, 1> base/bind_internal.h:689 (sync_integration_tests+0x9acc6a6) #22 base::internal::Invoker<base::internal::BindState<void (history::HistoryBackend::*)(base::Time), scoped_refptr<history::HistoryBackend>, base::Time>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (sync_integration_tests+0x9acc6a6) #23 Run base/callback.h:99:12 (sync_integration_tests+0x6cfc0a9) #24 base::(anonymous namespace)::RunIfNotCanceled(base::CancellationFlag const*, base::OnceCallback<void ()>) base/task/cancelable_task_tracker.cc:26 (sync_integration_tests+0x6cfc0a9) #25 Invoke<void (*)(const base::CancellationFlag *, base::OnceCallback<void ()>), base::CancellationFlag *, base::OnceCallback<void ()> > base/bind_internal.h:416:12 (sync_integration_tests+0x6cfce38) #26 MakeItSo<void (*)(const base::CancellationFlag *, base::OnceCallback<void ()>), base::CancellationFlag *, base::OnceCallback<void ()> > base/bind_internal.h:616 (sync_integration_tests+0x6cfce38) #27 RunImpl<void (*)(const base::CancellationFlag *, base::OnceCallback<void ()>), std::__1::tuple<base::CancellationFlag *, base::OnceCallback<void ()> >, 0, 1> base/bind_internal.h:689 (sync_integration_tests+0x6cfce38) #28 base::internal::Invoker<base::internal::BindState<void (*)(base::CancellationFlag const*, base::OnceCallback<void ()>), base::CancellationFlag*, base::OnceCallback<void ()> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (sync_integration_tests+0x6cfce38) #29 Run base/callback.h:99:12 (sync_integration_tests+0x6d423ef) #30 base::(anonymous namespace)::PostTaskAndReplyRelay::RunTaskAndPostReply(base::(anonymous namespace)::PostTaskAndReplyRelay) base/threading/post_task_and_reply_impl.cc:79 (sync_integration_tests+0x6d423ef) #31 Invoke<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:416:12 (sync_integration_tests+0x6d427d8) #32 MakeItSo<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay> base/bind_internal.h:616 (sync_integration_tests+0x6d427d8) #33 RunImpl<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), std::__1::tuple<base::(anonymous namespace)::PostTaskAndReplyRelay>, 0> base/bind_internal.h:689 (sync_integration_tests+0x6d427d8) #34 base::internal::Invoker<base::internal::BindState<void (*)(base::(anonymous namespace)::PostTaskAndReplyRelay), base::(anonymous namespace)::PostTaskAndReplyRelay>, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (sync_integration_tests+0x6d427d8) #35 Run base/callback.h:99:12 (sync_integration_tests+0x6ca1f8f) #36 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (sync_integration_tests+0x6ca1f8f) #37 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::TimeTicks*) base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:244:21 (sync_integration_tests+0x6d16f85) #38 DoWork base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:214:10 (sync_integration_tests+0x6d174ff) #39 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() base/task/sequence_manager/thread_controller_with_message_pump_impl.cc (sync_integration_tests+0x6d174ff) #40 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:39:31 (sync_integration_tests+0x6ca43e1) #41 Run base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:342:12 (sync_integration_tests+0x6d17870) #42 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool) base/task/sequence_manager/thread_controller_with_message_pump_impl.cc (sync_integration_tests+0x6d17870) #43 base::RunLoop::Run() base/run_loop.cc:102:14 (sync_integration_tests+0x6cd934a) #44 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (sync_integration_tests+0x6d45959) #45 base::Thread::ThreadMain() base/threading/thread.cc:332:3 (sync_integration_tests+0x6d45c11) #46 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (sync_integration_tests+0x6da13d4) Previous write of size 4 at 0x56022d2c0040 by thread T28 (mutexes: write M265847669486411936): #0 pcache1FreePage third_party/sqlite/amalgamation/sqlite3.c:48979:25 (sync_integration_tests+0x8ea8b69) #1 pcache1TruncateUnsafe third_party/sqlite/amalgamation/sqlite3.c:49173 (sync_integration_tests+0x8ea8b69) #2 pcache1Truncate third_party/sqlite/amalgamation/sqlite3.c:49645 (sync_integration_tests+0x8ea8b69) #3 sqlite3PcacheTruncate third_party/sqlite/amalgamation/sqlite3.c:48292:5 (sync_integration_tests+0x8d65d3b) #4 sqlite3PcacheClear third_party/sqlite/amalgamation/sqlite3.c:48309 (sync_integration_tests+0x8d65d3b) #5 pager_reset third_party/sqlite/amalgamation/sqlite3.c:52205 (sync_integration_tests+0x8d65d3b) #6 sqlite3PagerClose third_party/sqlite/amalgamation/sqlite3.c:54607:3 (sync_integration_tests+0x8d57d2c) #7 sqlite3BtreeClose third_party/sqlite/amalgamation/sqlite3.c:65685:5 (sync_integration_tests+0x8d794d6) #8 sqlite3VdbeFreeCursor third_party/sqlite/amalgamation/sqlite3.c:78109:25 (sync_integration_tests+0x8d792de) #9 closeCursorsInFrame third_party/sqlite/amalgamation/sqlite3.c:78140:9 (sync_integration_tests+0x8d752d0) #10 closeAllCursors third_party/sqlite/amalgamation/sqlite3.c:78190 (sync_integration_tests+0x8d752d0) #11 sqlite3VdbeHalt third_party/sqlite/amalgamation/sqlite3.c:78677 (sync_integration_tests+0x8d752d0) #12 sqlite3VdbeExec third_party/sqlite/amalgamation/sqlite3.c:84072:8 (sync_integration_tests+0x8d9924a) #13 sqlite3Step third_party/sqlite/amalgamation/sqlite3.c:81415:10 (sync_integration_tests+0x8d3ae88) #14 chrome_sqlite3_step third_party/sqlite/amalgamation/sqlite3.c:81478 (sync_integration_tests+0x8d3ae88) #15 sql::Statement::StepInternal(bool) sql/statement.cc:71:13 (sync_integration_tests+0x8d254fc) #16 sql::Statement::Step() sql/statement.cc:97:10 (sync_integration_tests+0x8d2574e) #17 history::VisitDatabase::FillVisitVector(sql::Statement&, std::__1::vector<history::VisitRow, std::__1::allocator<history::VisitRow> >*) components/history/core/browser/visit_database.cc:114:20 (sync_integration_tests+0x9b1c77b) #18 history::VisitDatabase::GetMostRecentVisitsForURL(long, int, std::__1::vector<history::VisitRow, std::__1::allocator<history::VisitRow> >*) components/history/core/browser/visit_database.cc:441:10 (sync_integration_tests+0x9b1e1a5) #19 UpdateRecentVisitsFromHistoryDBTask::RunOnDBThread(history::HistoryBackend*, history::HistoryDatabase*) components/omnibox/browser/url_index_private_data.cc:124:20 (sync_integration_tests+0xaa7396d) #20 Run components/history/core/browser/history_backend.cc:159:17 (sync_integration_tests+0x9ada1a0) #21 history::HistoryBackend::ProcessDBTaskImpl() components/history/core/browser/history_backend.cc:2403 (sync_integration_tests+0x9ada1a0) #22 history::HistoryBackend::ProcessDBTask(std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> const&) components/history/core/browser/history_backend.cc:2621:5 (sync_integration_tests+0x9adb5cb) #23 Invoke<void (history::HistoryBackend::*)(std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, const base::RepeatingCallback<bool ()> &), scoped_refptr<history::HistoryBackend>, std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> > base/bind_internal.h:516:12 (sync_integration_tests+0x9ac6ace) #24 MakeItSo<void (history::HistoryBackend::*)(std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, const base::RepeatingCallback<bool ()> &), scoped_refptr<history::HistoryBackend>, std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> > base/bind_internal.h:616 (sync_integration_tests+0x9ac6ace) #25 RunImpl<void (history::HistoryBackend::*)(std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, const base::RepeatingCallback<bool ()> &), std::__1::tuple<scoped_refptr<history::HistoryBackend>, std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> >, 0, 1, 2, 3> base/bind_internal.h:689 (sync_integration_tests+0x9ac6ace) #26 base::internal::Invoker<base::internal::BindState<void (history::HistoryBackend::*)(std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> const&), scoped_refptr<history::HistoryBackend>, std::__1::unique_ptr<history::HistoryDBTask, std::__1::default_delete<history::HistoryDBTask> >, scoped_refptr<base::SingleThreadTaskRunner>, base::RepeatingCallback<bool ()> >, void ()>::RunOnce(base::internal::BindStateBase*) base/bind_internal.h:658 (sync_integration_tests+0x9ac6ace) #27 Run base/callback.h:99:12 (sync_integration_tests+0x6ca1f8f) #28 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) base/debug/task_annotator.cc:99 (sync_integration_tests+0x6ca1f8f) #29 base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::TimeTicks*) base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:244:21 (sync_integration_tests+0x6d16f85) #30 DoWork base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:214:10 (sync_integration_tests+0x6d174ff) #31 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() base/task/sequence_manager/thread_controller_with_message_pump_impl.cc (sync_integration_tests+0x6d174ff) #32 base::MessagePumpDefault::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_default.cc:39:31 (sync_integration_tests+0x6ca43e1) #33 Run base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:342:12 (sync_integration_tests+0x6d17870) #34 non-virtual thunk to base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool) base/task/sequence_manager/thread_controller_with_message_pump_impl.cc (sync_integration_tests+0x6d17870) #35 base::RunLoop::Run() base/run_loop.cc:102:14 (sync_integration_tests+0x6cd934a) #36 base::Thread::Run(base::RunLoop*) base/threading/thread.cc:250:13 (sync_integration_tests+0x6d45959) #37 base::Thread::ThreadMain() base/threading/thread.cc:332:3 (sync_integration_tests+0x6d45c11) #38 base::(anonymous namespace)::ThreadFunc(void*) base/threading/platform_thread_posix.cc:81:13 (sync_integration_tests+0x6da13d4) Location is global 'pcache1Create.dummyCurrentPage' of size 4 at 0x56022d2c0040 (sync_integration_tests+0x00000f50b040) Mutex M127080505968916672 is already destroyed. Mutex M265847669486411936 is already destroyed. Thread T32 'Chrome_HistoryThread' (tid=21663, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:980:3 (sync_integration_tests+0x3112685) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (sync_integration_tests+0x6da0de7) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:238:10 (sync_integration_tests+0x6da0ce5) #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (sync_integration_tests+0x6d4547d) #4 history::HistoryService::Init(bool, history::HistoryDatabaseParams const&) components/history/core/browser/history_service.cc:943:21 (sync_integration_tests+0x9ac0ef9) #5 Init components/history/core/browser/history_service.h:101:12 (sync_integration_tests+0x726ef22) #6 HistoryServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const chrome/browser/history/history_service_factory.cc:85 (sync_integration_tests+0x726ef22) #7 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const components/keyed_service/content/browser_context_keyed_service_factory.cc:105:7 (sync_integration_tests+0xa0ee27f) #8 KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool) components/keyed_service/core/keyed_service_factory.cc:89:15 (sync_integration_tests+0x8a9fdfe) #9 BrowserContextKeyedServiceFactory::GetServiceForBrowserContext(content::BrowserContext*, bool) components/keyed_service/content/browser_context_keyed_service_factory.cc:58:31 (sync_integration_tests+0xa0ee139) #10 HistoryServiceFactory::GetForProfile(Profile*, ServiceAccessType) chrome/browser/history/history_service_factory.cc:33:22 (sync_integration_tests+0x726eb01) #11 BrowsingDataHistoryObserverService chrome/browser/browsing_data/browsing_data_history_observer_service.cc:22:27 (sync_integration_tests+0x73dde9d) #12 BrowsingDataHistoryObserverService::Factory::BuildServiceInstanceFor(content::BrowserContext*) const chrome/browser/browsing_data/browsing_data_history_observer_service.cc:60 (sync_integration_tests+0x73dde9d) #13 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const components/keyed_service/content/browser_context_keyed_service_factory.cc:105:7 (sync_integration_tests+0xa0ee27f) #14 KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool) components/keyed_service/core/keyed_service_factory.cc:89:15 (sync_integration_tests+0x8a9fdfe) #15 KeyedServiceFactory::CreateServiceNow(base::SupportsUserData*) components/keyed_service/core/keyed_service_factory.cc:137:3 (sync_integration_tests+0x8aa0725) #16 DependencyManager::CreateContextServices(base::SupportsUserData*, bool) components/keyed_service/core/dependency_manager.cc:72:16 (sync_integration_tests+0x8a9c608) #17 BrowserContextDependencyManager::DoCreateBrowserContextServices(content::BrowserContext*, bool) components/keyed_service/content/browser_context_dependency_manager.cc:47:22 (sync_integration_tests+0xa0ed4bd) #18 BrowserContextDependencyManager::CreateBrowserContextServices(content::BrowserContext*) components/keyed_service/content/browser_context_dependency_manager.cc:32:3 (sync_integration_tests+0xa0ed3c2) #19 ProfileImpl::OnLocaleReady() chrome/browser/profiles/profile_impl.cc:914:11 (sync_integration_tests+0x74031a1) #20 ProfileImpl::OnPrefsLoaded(Profile::CreateMode, bool) chrome/browser/profiles/profile_impl.cc:948:3 (sync_integration_tests+0x7400110) #21 ProfileImpl::ProfileImpl(base::FilePath const&, Profile::Delegate*, Profile::CreateMode, scoped_refptr<base::SequencedTaskRunner>) chrome/browser/profiles/profile_impl.cc:576:5 (sync_integration_tests+0x73ffebd) #22 Profile::CreateProfile(base::FilePath const&, Profile::Delegate*, Profile::CreateMode) chrome/browser/profiles/profile_impl.cc:354:11 (sync_integration_tests+0x73fde75) #23 SyncTest::MakeTestProfile(base::FilePath, int) chrome/browser/sync/test/integration/sync_test.cc:453:7 (sync_integration_tests+0x6a73abc) #24 SyncTest::SetupClients() chrome/browser/sync/test/integration/sync_test.cc:604:17 (sync_integration_tests+0x6a75812) #25 SyncTest::SetupSync() chrome/browser/sync/test/integration/sync_test.cc:791:10 (sync_integration_tests+0x6a762d8) #26 TwoClientTypedUrlsSyncTest_AddThenExpireVisitByVisit_Test::RunTestOnMainThread() chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc:284:3 (sync_integration_tests+0x32e3673) #27 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:462:5 (sync_integration_tests+0xe233ab3) #28 Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> base/bind_internal.h:516:12 (sync_integration_tests+0xe234858) #29 MakeItSo<void (content::BrowserTestBase::*const &)(), content::BrowserTestBase *> base/bind_internal.h:616 (sync_integration_tests+0xe234858) #30 RunImpl<void (content::BrowserTestBase::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase> > &, 0> base/bind_internal.h:689 (sync_integration_tests+0xe234858) #31 base::internal::Invoker<base::internal::BindState<void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (sync_integration_tests+0xe234858) #32 Run base/callback.h:129:12 (sync_integration_tests+0x71dd7d6) #33 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1787 (sync_integration_tests+0x71dd7d6) #34 ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1175:18 (sync_integration_tests+0x71dbf60) #35 content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:983:13 (sync_integration_tests+0x4713105) #36 Invoke<int (content::BrowserMainLoop::*)(), content::BrowserMainLoop *> base/bind_internal.h:516:12 (sync_integration_tests+0x4715b08) #37 MakeItSo<int (content::BrowserMainLoop::*const &)(), content::BrowserMainLoop *> base/bind_internal.h:616 (sync_integration_tests+0x4715b08) #38 RunImpl<int (content::BrowserMainLoop::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserMainLoop> > &, 0> base/bind_internal.h:689 (sync_integration_tests+0x4715b08) #39 base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (sync_integration_tests+0x4715b08) #40 Run base/callback.h:129:12 (sync_integration_tests+0x4d78c1e) #41 content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:41 (sync_integration_tests+0x4d78c1e) #42 content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:917:25 (sync_integration_tests+0x47118b1) #43 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner_impl.cc:144:15 (sync_integration_tests+0x4716322) #44 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:43:32 (sync_integration_tests+0x470f13b) #45 RunBrowserProcessMain content/app/content_main_runner_impl.cc:545:10 (sync_integration_tests+0x667545f) #46 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:954 (sync_integration_tests+0x667545f) #47 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:868:12 (sync_integration_tests+0x6674e98) #48 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (sync_integration_tests+0x667195f) #49 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:460:29 (sync_integration_tests+0x97b40c1) #50 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (sync_integration_tests+0x6672beb) #51 content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:349:3 (sync_integration_tests+0xe2335f1) #52 InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:284:20 (sync_integration_tests+0x6a8cb3d) #53 SyncTest::SetUp() chrome/browser/sync/test/integration/sync_test.cc:274:25 (sync_integration_tests+0x6a71d04) #54 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (sync_integration_tests+0x34fa482) #55 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2517 (sync_integration_tests+0x34fa482) #56 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2703:11 (sync_integration_tests+0x34fb728) #57 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2825:28 (sync_integration_tests+0x34fc066) #58 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5227:43 (sync_integration_tests+0x350cae6) #59 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (sync_integration_tests+0x350c3b7) #60 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4835 (sync_integration_tests+0x350c3b7) #61 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2369:46 (sync_integration_tests+0x6c55052) #62 base::TestSuite::Run() base/test/test_suite.cc:294 (sync_integration_tests+0x6c55052) #63 ChromeTestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:71:21 (sync_integration_tests+0x6a8b940) #64 ChromeTestLauncherDelegate::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:80:19 (sync_integration_tests+0x6a8ba4f) #65 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:647:31 (sync_integration_tests+0xe23b264) #66 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:184:10 (sync_integration_tests+0x6a8bfd2) #67 main chrome/test/base/browser_tests_main.cc:36:10 (sync_integration_tests+0x6a3b22c) Thread T28 'Chrome_HistoryThread' (tid=21642, running) created by main thread at: #0 pthread_create /b/swarming/w/ir/kitchen-workdir/src/third_party/llvm/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:980:3 (sync_integration_tests+0x3112685) #1 base::(anonymous namespace)::CreateThread(unsigned long, bool, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:120:13 (sync_integration_tests+0x6da0de7) #2 base::PlatformThread::CreateWithPriority(unsigned long, base::PlatformThread::Delegate*, base::PlatformThreadHandle*, base::ThreadPriority) base/threading/platform_thread_posix.cc:238:10 (sync_integration_tests+0x6da0ce5) #3 base::Thread::StartWithOptions(base::Thread::Options const&) base/threading/thread.cc:112:15 (sync_integration_tests+0x6d4547d) #4 history::HistoryService::Init(bool, history::HistoryDatabaseParams const&) components/history/core/browser/history_service.cc:943:21 (sync_integration_tests+0x9ac0ef9) #5 Init components/history/core/browser/history_service.h:101:12 (sync_integration_tests+0x726ef22) #6 HistoryServiceFactory::BuildServiceInstanceFor(content::BrowserContext*) const chrome/browser/history/history_service_factory.cc:85 (sync_integration_tests+0x726ef22) #7 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const components/keyed_service/content/browser_context_keyed_service_factory.cc:105:7 (sync_integration_tests+0xa0ee27f) #8 KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool) components/keyed_service/core/keyed_service_factory.cc:89:15 (sync_integration_tests+0x8a9fdfe) #9 BrowserContextKeyedServiceFactory::GetServiceForBrowserContext(content::BrowserContext*, bool) components/keyed_service/content/browser_context_keyed_service_factory.cc:58:31 (sync_integration_tests+0xa0ee139) #10 HistoryServiceFactory::GetForProfile(Profile*, ServiceAccessType) chrome/browser/history/history_service_factory.cc:33:22 (sync_integration_tests+0x726eb01) #11 BrowsingDataHistoryObserverService chrome/browser/browsing_data/browsing_data_history_observer_service.cc:22:27 (sync_integration_tests+0x73dde9d) #12 BrowsingDataHistoryObserverService::Factory::BuildServiceInstanceFor(content::BrowserContext*) const chrome/browser/browsing_data/browsing_data_history_observer_service.cc:60 (sync_integration_tests+0x73dde9d) #13 BrowserContextKeyedServiceFactory::BuildServiceInstanceFor(base::SupportsUserData*) const components/keyed_service/content/browser_context_keyed_service_factory.cc:105:7 (sync_integration_tests+0xa0ee27f) #14 KeyedServiceFactory::GetServiceForContext(base::SupportsUserData*, bool) components/keyed_service/core/keyed_service_factory.cc:89:15 (sync_integration_tests+0x8a9fdfe) #15 KeyedServiceFactory::CreateServiceNow(base::SupportsUserData*) components/keyed_service/core/keyed_service_factory.cc:137:3 (sync_integration_tests+0x8aa0725) #16 DependencyManager::CreateContextServices(base::SupportsUserData*, bool) components/keyed_service/core/dependency_manager.cc:72:16 (sync_integration_tests+0x8a9c608) #17 BrowserContextDependencyManager::DoCreateBrowserContextServices(content::BrowserContext*, bool) components/keyed_service/content/browser_context_dependency_manager.cc:47:22 (sync_integration_tests+0xa0ed4bd) #18 BrowserContextDependencyManager::CreateBrowserContextServices(content::BrowserContext*) components/keyed_service/content/browser_context_dependency_manager.cc:32:3 (sync_integration_tests+0xa0ed3c2) #19 ProfileImpl::OnLocaleReady() chrome/browser/profiles/profile_impl.cc:914:11 (sync_integration_tests+0x74031a1) #20 ProfileImpl::OnPrefsLoaded(Profile::CreateMode, bool) chrome/browser/profiles/profile_impl.cc:948:3 (sync_integration_tests+0x7400110) #21 ProfileImpl::ProfileImpl(base::FilePath const&, Profile::Delegate*, Profile::CreateMode, scoped_refptr<base::SequencedTaskRunner>) chrome/browser/profiles/profile_impl.cc:576:5 (sync_integration_tests+0x73ffebd) #22 Profile::CreateProfile(base::FilePath const&, Profile::Delegate*, Profile::CreateMode) chrome/browser/profiles/profile_impl.cc:354:11 (sync_integration_tests+0x73fde75) #23 SyncTest::MakeTestProfile(base::FilePath, int) chrome/browser/sync/test/integration/sync_test.cc:453:7 (sync_integration_tests+0x6a73abc) #24 SyncTest::CreateProfile(int) chrome/browser/sync/test/integration/sync_test.cc:386:24 (sync_integration_tests+0x6a73170) #25 SyncTest::SetupClients() chrome/browser/sync/test/integration/sync_test.cc:589:10 (sync_integration_tests+0x6a756b0) #26 SyncTest::SetupSync() chrome/browser/sync/test/integration/sync_test.cc:791:10 (sync_integration_tests+0x6a762d8) #27 TwoClientTypedUrlsSyncTest_AddThenExpireVisitByVisit_Test::RunTestOnMainThread() chrome/browser/sync/test/integration/two_client_typed_urls_sync_test.cc:284:3 (sync_integration_tests+0x32e3673) #28 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop() content/public/test/browser_test_base.cc:462:5 (sync_integration_tests+0xe233ab3) #29 Invoke<void (content::BrowserTestBase::*)(), content::BrowserTestBase *> base/bind_internal.h:516:12 (sync_integration_tests+0xe234858) #30 MakeItSo<void (content::BrowserTestBase::*const &)(), content::BrowserTestBase *> base/bind_internal.h:616 (sync_integration_tests+0xe234858) #31 RunImpl<void (content::BrowserTestBase::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserTestBase> > &, 0> base/bind_internal.h:689 (sync_integration_tests+0xe234858) #32 base::internal::Invoker<base::internal::BindState<void (content::BrowserTestBase::*)(), base::internal::UnretainedWrapper<content::BrowserTestBase> >, void ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (sync_integration_tests+0xe234858) #33 Run base/callback.h:129:12 (sync_integration_tests+0x71dd7d6) #34 ChromeBrowserMainParts::PreMainMessageLoopRunImpl() chrome/browser/chrome_browser_main.cc:1787 (sync_integration_tests+0x71dd7d6) #35 ChromeBrowserMainParts::PreMainMessageLoopRun() chrome/browser/chrome_browser_main.cc:1175:18 (sync_integration_tests+0x71dbf60) #36 content::BrowserMainLoop::PreMainMessageLoopRun() content/browser/browser_main_loop.cc:983:13 (sync_integration_tests+0x4713105) #37 Invoke<int (content::BrowserMainLoop::*)(), content::BrowserMainLoop *> base/bind_internal.h:516:12 (sync_integration_tests+0x4715b08) #38 MakeItSo<int (content::BrowserMainLoop::*const &)(), content::BrowserMainLoop *> base/bind_internal.h:616 (sync_integration_tests+0x4715b08) #39 RunImpl<int (content::BrowserMainLoop::*const &)(), const std::__1::tuple<base::internal::UnretainedWrapper<content::BrowserMainLoop> > &, 0> base/bind_internal.h:689 (sync_integration_tests+0x4715b08) #40 base::internal::Invoker<base::internal::BindState<int (content::BrowserMainLoop::*)(), base::internal::UnretainedWrapper<content::BrowserMainLoop> >, int ()>::Run(base::internal::BindStateBase*) base/bind_internal.h:671 (sync_integration_tests+0x4715b08) #41 Run base/callback.h:129:12 (sync_integration_tests+0x4d78c1e) #42 content::StartupTaskRunner::RunAllTasksNow() content/browser/startup_task_runner.cc:41 (sync_integration_tests+0x4d78c1e) #43 content::BrowserMainLoop::CreateStartupTasks() content/browser/browser_main_loop.cc:917:25 (sync_integration_tests+0x47118b1) #44 content::BrowserMainRunnerImpl::Initialize(content::MainFunctionParams const&) content/browser/browser_main_runner_impl.cc:144:15 (sync_integration_tests+0x4716322) #45 content::BrowserMain(content::MainFunctionParams const&) content/browser/browser_main.cc:43:32 (sync_integration_tests+0x470f13b) #46 RunBrowserProcessMain content/app/content_main_runner_impl.cc:545:10 (sync_integration_tests+0x667545f) #47 content::ContentMainRunnerImpl::RunServiceManager(content::MainFunctionParams&, bool) content/app/content_main_runner_impl.cc:954 (sync_integration_tests+0x667545f) #48 content::ContentMainRunnerImpl::Run(bool) content/app/content_main_runner_impl.cc:868:12 (sync_integration_tests+0x6674e98) #49 content::ContentServiceManagerMainDelegate::RunEmbedderProcess() content/app/content_service_manager_main_delegate.cc:53:32 (sync_integration_tests+0x667195f) #50 service_manager::Main(service_manager::MainParams const&) services/service_manager/embedder/main.cc:460:29 (sync_integration_tests+0x97b40c1) #51 content::ContentMain(content::ContentMainParams const&) content/app/content_main.cc:19:10 (sync_integration_tests+0x6672beb) #52 content::BrowserTestBase::SetUp() content/public/test/browser_test_base.cc:349:3 (sync_integration_tests+0xe2335f1) #53 InProcessBrowserTest::SetUp() chrome/test/base/in_process_browser_test.cc:284:20 (sync_integration_tests+0x6a8cb3d) #54 SyncTest::SetUp() chrome/browser/sync/test/integration/sync_test.cc:274:25 (sync_integration_tests+0x6a71d04) #55 HandleExceptionsInMethodIfSupported<testing::Test, void> third_party/googletest/src/googletest/src/gtest.cc (sync_integration_tests+0x34fa482) #56 testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2517 (sync_integration_tests+0x34fa482) #57 testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2703:11 (sync_integration_tests+0x34fb728) #58 testing::TestCase::Run() third_party/googletest/src/googletest/src/gtest.cc:2825:28 (sync_integration_tests+0x34fc066) #59 testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:5227:43 (sync_integration_tests+0x350cae6) #60 HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> third_party/googletest/src/googletest/src/gtest.cc (sync_integration_tests+0x350c3b7) #61 testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc:4835 (sync_integration_tests+0x350c3b7) #62 RUN_ALL_TESTS third_party/googletest/src/googletest/include/gtest/gtest.h:2369:46 (sync_integration_tests+0x6c55052) #63 base::TestSuite::Run() base/test/test_suite.cc:294 (sync_integration_tests+0x6c55052) #64 ChromeTestSuiteRunner::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:71:21 (sync_integration_tests+0x6a8b940) #65 ChromeTestLauncherDelegate::RunTestSuite(int, char**) chrome/test/base/chrome_test_launcher.cc:80:19 (sync_integration_tests+0x6a8ba4f) #66 content::LaunchTests(content::TestLauncherDelegate*, unsigned long, int, char**) content/public/test/test_launcher.cc:647:31 (sync_integration_tests+0xe23b264) #67 LaunchChromeTests(unsigned long, content::TestLauncherDelegate*, int, char**) chrome/test/base/chrome_test_launcher.cc:184:10 (sync_integration_tests+0x6a8bfd2) #68 main chrome/test/base/browser_tests_main.cc:36:10 (sync_integration_tests+0x6a3b22c) SUMMARY: ThreadSanitizer: data race third_party/sqlite/amalgamation/sqlite3.c in pcache1FetchStage2
,
Dec 22
I'm not familiar with the sync logic. Removing myself from this bug. Feel free to re-add me if you think I can actually contribute.
,
Dec 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90444d510c6aa0070abbdf2b8a19a977525b897e commit 90444d510c6aa0070abbdf2b8a19a977525b897e Author: Dominik Röttsches <drott@chromium.org> Date: Thu Dec 27 11:26:11 2018 Disable racy sync test under TSan Disable SwitchesFromAccountToProfileStorageOnSyncOptInWithAdvancedSetup as well, since it shows similar raciness as the previously disabled tests. Bug: 917385 , 917380 Change-Id: I465059c95862fb867745a99343b7b89834f363f7 Tbr: hans, mastiz, jkrcal Reviewed-on: https://chromium-review.googlesource.com/c/1391366 Reviewed-by: Dominik Röttsches <drott@chromium.org> Commit-Queue: Dominik Röttsches <drott@chromium.org> Cr-Commit-Position: refs/heads/master@{#619026} [modify] https://crrev.com/90444d510c6aa0070abbdf2b8a19a977525b897e/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc
,
Jan 7
Assigning to jkrcal@chromium.org who worked on Typed Urls sync to take a look.
,
Jan 7
I am dealing with the same problem for wallet tests in Issue 917380 . My investigation hints at a problem in sqlite (at least for two client sync tests). Now I wait for feedback from sqlite folks. Marking as blocked on that bug.
,
Jan 7
,
Jan 7
Issue 919090 adds TwoClientTypedUrlsSyncTest.AddOneDeleteOtherAddAgain to the list (disabled in https://chromium-review.googlesource.com/c/1396218).
,
Jan 8
Issue 919612 has been merged into this issue.
,
Jan 8
Issue 919612 adds SingleClientTypedUrlsSyncTest.DeleteNonTyped to the list.
,
Jan 9
,
Jan 9
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/85b281f3aed18f7d936ba30ad8e21f45762a824c commit 85b281f3aed18f7d936ba30ad8e21f45762a824c Author: Marc Treib <treib@chromium.org> Date: Wed Jan 09 16:22:50 2019 Disable SingleClientWalletSyncTest.DownloadAccountStorage_Card on TSan It's very flaky. Bug: 917385 , 920216 Change-Id: I74cb81327872f5d6d909e3e7d274e65479674d3b Reviewed-on: https://chromium-review.googlesource.com/c/1402887 Reviewed-by: Jan Krcal <jkrcal@chromium.org> Commit-Queue: Jan Krcal <jkrcal@chromium.org> Cr-Commit-Position: refs/heads/master@{#621168} [modify] https://crrev.com/85b281f3aed18f7d936ba30ad8e21f45762a824c/chrome/browser/sync/test/integration/single_client_wallet_sync_test.cc |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by bugdroid1@chromium.org
, Dec 21