"CannedBrowsingDataAppCacheHelperTest.Delete" is flaky |
|||||
Issue description"CannedBrowsingDataAppCacheHelperTest.Delete" is flaky. This issue was created automatically by the chromium-try-flakes app. Please find the right owner to fix the respective test/step and assign this issue to them. If the step/test is infrastructure-related, please add Infra-Troopers label and change issue status to Untriaged. When done, please remove the issue from Sheriff Bug Queue by removing the Sheriff-Chromium label. We have detected 5 recent flakes. List of all flakes can be found at https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyNgsSBUZsYWtlIitDYW5uZWRCcm93c2luZ0RhdGFBcHBDYWNoZUhlbHBlclRlc3QuRGVsZXRlDA. Flaky tests should be disabled within 30 minutes unless culprit CL is found and reverted. Please see more details here: https://sites.google.com/a/chromium.org/dev/developers/tree-sheriffs/sheriffing-bug-queues#triaging-auto-filed-flakiness-bugs
,
Jul 11 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a12d126bd7c4d2ac7158105ee88e8e66ebd32ba4 commit a12d126bd7c4d2ac7158105ee88e8e66ebd32ba4 Author: calamity <calamity@chromium.org> Date: Tue Jul 11 05:14:32 2017 Disable CannedBrowsingDataAppCacheHelperTest.Delete on Linux/Android. BUG= 740801 TBR=bauerb@chromium.org Review-Url: https://codereview.chromium.org/2973403002 Cr-Commit-Position: refs/heads/master@{#485528} [modify] https://crrev.com/a12d126bd7c4d2ac7158105ee88e8e66ebd32ba4/chrome/browser/browsing_data/browsing_data_appcache_helper_unittest.cc
,
Jul 11 2017
,
Jul 11 2017
Log: [ RUN ] CannedBrowsingDataAppCacheHelperTest.Delete [9097:9196:0710/195136.799976:4973147663:ERROR:connection.cc(1963)] AppCache sqlite error 1802, errno 0: disk I/O error, sql: CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR) [9097:9196:0710/195136.800027:4973147697:FATAL:connection.cc(1978)] disk I/O error #0 0x000004eff3cc base::debug::StackTrace::StackTrace() #1 0x000004f172e1 logging::LogMessage::~LogMessage() #2 0x00000613bff2 sql::Connection::OnSqliteError() #3 0x000006138bf4 sql::Connection::Execute() #4 0x00000613ec3a sql::MetaTable::Init() #5 0x000002cf8c37 content::AppCacheDatabase::CreateSchema() #6 0x000002cf51c8 content::AppCacheDatabase::LazyOpen() #7 0x000002d16b22 content::AppCacheStorageImpl::MakeGroupObsoleteTask::Run() #8 0x000002d126b1 content::AppCacheStorageImpl::DatabaseTask::CallRun() #9 0x0000028c79f0 _ZN4base8internal7InvokerINS0_9BindStateIMN5media15VpxVideoDecoder10MemoryPoolEFvPNS5_14VP9FrameBufferEEJ13scoped_refptrIS5_ES7_EEEFvvEE3RunEPNS0_13BindStateBaseE #10 0x0000006b0059 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv #11 0x000004fb1070 base::debug::TaskAnnotator::RunTask() #12 0x000004f6618d base::internal::TaskTracker::PerformRunTask() #13 0x000004f667c7 base::internal::TaskTrackerPosix::PerformRunTask() #14 0x000004f659d2 base::internal::TaskTracker::RunNextTask() #15 0x000004fbb42d base::internal::SchedulerWorker::Thread::ThreadMain() #16 0x000004f6e1ef base::(anonymous namespace)::ThreadFunc() #17 0x7f90bd274184 start_thread #18 0x7f90b9c70bed clone
,
Jul 11 2017
CannedBrowsingDataAppCacheHelper::DeleteAppCacheGroup() deliberately calls through to the real implementation (see r243315), which presumably leads to problems if the real database doesn't actually exist. The reason why this used to work is because all database operations would be posted to the FILE_USER_BLOCKING SingleThreadTaskRunner, which was mapped to the main thread by the TestingBrowserThreadBundle but never flushed. r485493 changed this to the task scheduler, which uses a real background thread even in the TestingBrowserThreadBundle, so there is now a race condition between finishing the test on the main thread and running the database task on the background thread. It should be possible to set up a base::test::ScopedTaskEnvironment with QUEUED execution mode, which will revert to the old behavior, but really I think we should look into whether we can avoid these background DB operations completely. Could we use composition instead of inheritance for the CannedBrowsingDataAppCacheHelper so that it forwards the DeleteAppCacheGroup() call to another instance that we can stub in out the unit test?
,
Jul 11 2017
,
Jul 12 2017
rsesek@, is there a reason to call thru to the base class in the Canned derivative?
,
Jul 12 2017
Yes. It's because the collected cookies dialog (Lock Icon > Cookies > "N in use") operates on Canned instances. But we want users to be able to remove the actual storage (or cookies, etc.) from this dialog. See https://codereview.chromium.org/124183002 for the initial change that did that.
,
Jul 12 2017
ok, thnx, i'll use a ScopedTaskEnvironment
,
Jul 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/78e805915b0261d282272caabfb6e545a6c47892 commit 78e805915b0261d282272caabfb6e545a6c47892 Author: Michael Nordman <michaeln@google.com> Date: Thu Jul 13 00:51:38 2017 Use a ScopedTaskEnvironment in unittest and use an incognito profile to avoid file io. Bug: 740801 Change-Id: I64c21aabb75bdc8cd2926a665fad9ab2bccfe1d9 Reviewed-on: https://chromium-review.googlesource.com/567396 Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Michael Nordman <michaeln@chromium.org> Cr-Commit-Position: refs/heads/master@{#486192} [modify] https://crrev.com/78e805915b0261d282272caabfb6e545a6c47892/chrome/browser/browsing_data/browsing_data_appcache_helper_unittest.cc
,
Jul 13 2017
fixed i think |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by calamity@chromium.org
, Jul 11 2017Status: Assigned (was: Untriaged)