New issue
Advanced search Search tips

Issue 643097 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 3
Type: Bug



Sign in to add a comment

AutofillPrivateApiTest tests flaky because PersonalDataManager has not finished loading

Project Member Reported by battre@chromium.org, Sep 1 2016

Issue description

AutofillPrivateApiTest.GetCountryList and AutofillPrivateApiTest.RemoveEntry have been flaky recently.

Here are examples of the failures:

https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/272286/steps/browser_tests%20%28with%20patch%29%20on%20Windows-7-SP1/logs/AutofillPrivateApiTest.GetCountryList

AutofillPrivateApiTest.GetCountryList (run #1):
[ RUN      ] AutofillPrivateApiTest.GetCountryList
[7868:5140:0831/113457:INFO:CONSOLE(0)] "[FAIL] getCountryList: Expected more than one country
Error
    at Function.captureStackTrace (<anonymous>)
    at Object.<anonymous> (extensions::test:106:11)
    at Object.handleRequest (extensions::binding:63:27)
    at Object.<anonymous> (extensions::binding:422:32)
    at Object.<anonymous> (extensions::test:151:18)
    at Object.handleRequest (extensions::binding:63:27)
    at Object.<anonymous> (extensions::binding:422:32)
    at Object.<anonymous> (extensions::test:135:16)
    at Object.handleRequest (extensions::binding:63:27)
    at Object.<anonymous> (extensions::binding:422:32)", source: chrome-extension://epcifkihnkjgphfkloaaleeakhpmgdmn/main.html?getCountryList (0)
e:\c\win\src\chromerowser\extensionspiutofill_privateutofill_private_apitest.cc(52): error: Value of: RunAutofillSubtest("getCountryList")
  Actual: false
Expected: true
Failed 1 of 1 tests
[7868:5140:0831/113459:WARNING:url_request_context_getter.cc(43)] URLRequestContextGetter leaking due to no owning thread.
[  FAILED  ] AutofillPrivateApiTest.GetCountryList, where TypeParam =  and GetParam() =  (2340 ms)

and

https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/285367/steps/browser_tests%20%28with%20patch%29%20on%20Windows-7-SP1/logs/AutofillPrivateApiTest.RemoveEntry

AutofillPrivateApiTest.RemoveEntry (run #1):
[ RUN      ] AutofillPrivateApiTest.RemoveEntry
[4552:5916:0831/164325:FATAL:autofill_private_api.cc(507)] Check failed: personal_data && personal_data->IsDataLoaded().
Backtrace:
	base::debug::StackTrace::StackTrace [0x026A4F87+23]
	logging::LogMessage::~LogMessage [0x0265BE11+49]
	extensions::AutofillPrivateGetCreditCardListFunction::Run [0x051123D6+112]
	ExtensionFunction::RunWithValidation [0x024F1467+249]
	extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal [0x024F2FF0+715]
	extensions::ExtensionFunctionDispatcher::Dispatch [0x024F28FD+189]
	extensions::ExtensionWebContentsObserver::OnRequest [0x02505743+37]
	IPC::MessageT<ExtensionHostMsg_Request_Meta,std::tuple<ExtensionHostMsg_Request_Params>,void>::Dispatch<extensions::ExtensionWebContentsObserver,extensions::ExtensionWebContentsObserver,content::RenderFrameHost,void (__thiscall extensions::ExtensionWebCon [0x02505035+262]
	extensions::ExtensionWebContentsObserver::OnMessageReceived [0x02505701+94]
	extensions::ChromeExtensionWebContentsObserver::OnMessageReceived [0x03999111+22]
	content::WebContentsImpl::OnMessageReceived [0x02279935+173]
	content::WebContentsImpl::OnMessageReceived [0x0227A358+19]
	content::RenderFrameHostImpl::OnMessageReceived [0x020D2191+119]
	content::RenderProcessHostImpl::OnMessageReceived [0x021D9A4F+591]
	IPC::ChannelProxy::Context::OnDispatchMessage [0x0324953F+29]
	base::internal::Invoker<base::internal::BindState<base::internal::IgnoreResultHelper<bool (__thiscall content::UtilityProcessHostClient::*)(IPC::Message const &)>,scoped_refptr<content::UtilityProcessHostClient>,IPC::Message>,void __cdecl(void)>::Run [0x029DC33B+21]
	base::debug::TaskAnnotator::RunTask [0x026D0080+256]
	base::MessageLoop::RunTask [0x0266B41B+1211]
	base::MessageLoop::DoWork [0x0266A64E+606]
	base::MessagePumpForUI::DoRunLoop [0x026D13BA+90]
	base::MessagePumpWin::Run [0x026D209A+74]
	base::MessageLoop::RunHandler [0x0266AF57+103]
	base::RunLoop::Run [0x0266D939+41]
	content::RunThisRunLoop [0x02A5663A+49]
	content::MessageLoopRunner::Run [0x02A563B3+105]
	ui_test_utils::NavigateToURLWithDispositionBlockUntilNavigationsComplete [0x026F472E+725]
	ui_test_utils::NavigateToURL [0x026F441F+20]
	ExtensionApiTest::RunExtensionTestImpl [0x015FA089+651]
	ExtensionApiTest::RunExtensionSubtest [0x015F9D53+112]
	testing::internal::TestFactoryImpl<extensions::AutofillPrivateApiTest_ValidatePhoneNumbers_Test>::CreateTest [0x011DEA74+121]
	extensions::AutofillPrivateApiTest_RemoveEntry_Test::RunTestOnMainThread [0x011DEC95+48]
	InProcessBrowserTest::RunTestOnMainThreadLoop [0x026F32FC+180]
	content::BrowserTestBase::ProxyRunTestOnMainThreadLoop [0x02A5CE37+175]
	ChromeBrowserMainParts::PreMainMessageLoopRunImpl [0x0292816B+3287]
	ChromeBrowserMainParts::PreMainMessageLoopRun [0x0292745C+164]
	content::BrowserMainLoop::PreMainMessageLoopRun [0x0203AA9C+112]
	content::StartupTaskRunner::RunAllTasksNow [0x02257F9A+27]
	content::BrowserMainLoop::CreateStartupTasks [0x02038E75+387]
	content::BrowserMainRunnerImpl::Initialize [0x0203BD17+632]
	content::BrowserMain [0x02037A27+117]
	content::RunNamedProcessTypeMain [0x02647B1D+206]
	content::ContentMainRunnerImpl::Run [0x02647A1E+274]
	content::ContentMain [0x02646DEA+35]
	content::BrowserTestBase::SetUp [0x02A5D473+967]
	InProcessBrowserTest::SetUp [0x026F366E+268]
	testing::internal::HandleExceptionsInMethodIfSupported<testing::TestCase,void> [0x02ED4F65+32]
	testing::Test::Run [0x02EDBCC2+51]
	testing::TestCase::Run [0x02EDBD98+133]
	testing::internal::UnitTestImpl::RunAllTests [0x02EDC118+434]
	testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,bool> [0x02ED4FA9+32]
	testing::UnitTest::Run [0x02EDBF41+133]
	base::TestSuite::Run [0x026FBEBE+95]
	ChromeTestSuiteRunner::RunTestSuite [0x04D4517E+40]
	content::LaunchTests [0x02A573AD+592]
	LaunchChromeTests [0x04D45151+49]
	main [0x04D44F6A+63]
	__scrt_common_main_seh [0x04D0A465+255] (f:\ddctools\crtcstartup\src\startup\exe_common.inl:255)
	BaseThreadInitThunk [0x76CC337A+18]
	RtlInitializeExceptionChain [0x777792B2+99]
	RtlInitializeExceptionChain [0x77779285+54]

My intuition is that both are caused by the same root cause of the PersonalData not having finished loading.

Assigning to rogerm for recent work in this area (even though the CL may be unrelated): https://chromium.googlesource.com/chromium/src/+/fde6213417d148d604e67d687ac8259cc60ea90d

Here are the flake reports:
https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyMAsSBUZsYWtlIiVBdXRvZmlsbFByaXZhdGVBcGlUZXN0LkdldENvdW50cnlMaXN0DA
https://chromium-try-flakes.appspot.com/all_flake_occurrences?key=ahVzfmNocm9taXVtLXRyeS1mbGFrZXNyLQsSBUZsYWtlIiJBdXRvZmlsbFByaXZhdGVBcGlUZXN0LlJlbW92ZUVudHJ5DA

All flakes happen on windows and I will disable the corresponding tests.
 
 Issue 643047  has been merged into this issue.
 Issue 643056  has been merged into this issue.
Cc: steve...@chromium.org
AutofillPrivateApiTest.SaveCreditCard is flaky as well:

https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng/builds/285399

@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@[ RUN      ] AutofillPrivateApiTest.SaveCreditCard@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@[4736:1368:0831/171535:FATAL:autofill_private_api.cc(507)] Check failed: personal_data && personal_data->IsDataLoaded().@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@Backtrace:@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	base::debug::StackTrace::StackTrace [0x02754037+23]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	logging::LogMessage::~LogMessage [0x0270A8D1+49]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::AutofillPrivateGetCreditCardListFunction::Run [0x051C2BB1+112]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	ExtensionFunction::RunWithValidation [0x0259E00A+249]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::ExtensionFunctionDispatcher::DispatchWithCallbackInternal [0x0259FC0D+715]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::ExtensionFunctionDispatcher::Dispatch [0x0259F51A+189]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::ExtensionWebContentsObserver::OnRequest [0x025B1FBF+37]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	IPC::MessageT<ExtensionHostMsg_Request_Meta,std::tuple<ExtensionHostMsg_Request_Params>,void>::Dispatch<extensions::ExtensionWebContentsObserver,extensions::ExtensionWebContentsObserver,content::RenderFrameHost,void (__thiscall extensions::ExtensionWebCon [0x025B18B9+262]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::ExtensionWebContentsObserver::OnMessageReceived [0x025B1F7D+94]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	extensions::ChromeExtensionWebContentsObserver::OnMessageReceived [0x03A47CD0+22]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	content::WebContentsImpl::OnMessageReceived [0x0232676B+173]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	content::WebContentsImpl::OnMessageReceived [0x0232718E+19]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	content::RenderFrameHostImpl::OnMessageReceived [0x0217F191+119]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	content::RenderProcessHostImpl::OnMessageReceived [0x022862B8+591]@@@
@@@STEP_LOG_LINE@AutofillPrivateApiTest.SaveCreditCard@	IPC::ChannelProxy::Context::OnDispatchMessage [0x032F977F+29]@@@


Project Member

Comment 5 by bugdroid1@chromium.org, Sep 1 2016

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

commit d236dd38cea28fc7efd907cfaf77c34228f14e7b
Author: battre <battre@chromium.org>
Date: Thu Sep 01 08:40:33 2016

Disable flaky AutofillPrivateApiTest tests

Disable AutofillPrivateApiTest.RemoveEntry and
AutofillPrivateApiTest.GetCountryList on Windows due to their flakiness.

BUG=643097
TBR=rogerm@chromium.org,stevenjb@chromium.org

Review-Url: https://codereview.chromium.org/2299013003
Cr-Commit-Position: refs/heads/master@{#415913}

[modify] https://crrev.com/d236dd38cea28fc7efd907cfaf77c34228f14e7b/chrome/browser/extensions/api/autofill_private/autofill_private_apitest.cc

https://uberchromegw.corp.google.com/i/chromium.win/builders/Win7%20Tests%20%281%29/builds/56832

[ RUN      ] AutofillPrivateApiTest.SaveAddress

[3080:1540:0901/043532:INFO:CONSOLE(0)] "[FAIL] saveAddress: API Test Error in saveAddress

Actual: 1

Expected: 0

Error

    at Function.captureStackTrace (<anonymous>)

    at Object.<anonymous> (extensions::test:106:11)

    at Object.handleRequest (extensions::binding:63:27)

    at Object.<anonymous> (extensions::binding:422:32)

    at Object.<anonymous> (extensions::test:213:18)

    at Object.handleRequest (extensions::binding:63:27)

    at Object.<anonymous> (extensions::binding:422:32)

    at handler (chrome-extension://epcifkihnkjgphfkloaaleeakhpmgdmn/test.js:20:21)

    at EventImpl.dispatchToListener (extensions::event_bindings:388:22)

    at Event.publicClassPrototype.(anonymous function) [as dispatchToListener] (extensions::utils:151:26)", source: chrome-extension://epcifkihnkjgphfkloaaleeakhpmgdmn/main.html?saveAddress (0)

c:\b\c\b\win\src\chrome\browser\extensions\api\autofill_private\autofill_private_apitest.cc(48): error: Value of: RunAutofillSubtest("saveAddress")

  Actual: false

Expected: true

Failed 1 of 1 tests

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 1 2016

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

commit 692a01fa6d165b66b2149f9534f4dbb44389f5ad
Author: battre <battre@chromium.org>
Date: Thu Sep 01 12:46:59 2016

Disable more AutofillPrivateApiTest tests on Windows for flakiness

BUG=643097
TBR=rogerm@chromium.org,stevenjb@chromium.org

Review-Url: https://codereview.chromium.org/2301933002
Cr-Commit-Position: refs/heads/master@{#415937}

[modify] https://crrev.com/692a01fa6d165b66b2149f9534f4dbb44389f5ad/chrome/browser/extensions/api/autofill_private/autofill_private_apitest.cc

 Issue 643414  has been merged into this issue.
Cc: se...@chromium.org
Investigation is ongoing.

My suspicion is that there's a subtle timing issue, or that there's something re-entrant in the notifications for sync data changes that's causing the wait logic in the tests to return earlier than expected in the load timeline.
Labels: OS-Linux OS-Windows
These are all flaky on Linux as well.
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 21 2016

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

commit 9e9fc0809235d2d52fd9a483c705a040991dfac3
Author: pkasting <pkasting@chromium.org>
Date: Fri Oct 21 03:43:22 2016

Disable AutofillPrivateApiTests on Linux as well, due to flakiness.

BUG=643097
TEST=none
TBR=rogerm, stevenjb

Review-Url: https://chromiumcodereview.appspot.com/2441633003
Cr-Commit-Position: refs/heads/master@{#426715}

[modify] https://crrev.com/9e9fc0809235d2d52fd9a483c705a040991dfac3/chrome/browser/extensions/api/autofill_private/autofill_private_apitest.cc

Components: Tests>Disabled
Labels: Test-Disabled

Sign in to add a comment