New issue
Advanced search Search tips

Issue 781426 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 783903
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

KioskUpdateTest.LaunchOfflineEnabledAppNoUpdate flaky on linux_chromium_chromeos_rel_ng

Project Member Reported by kbr@chromium.org, Nov 3 2017

Issue description

This test's quite flaky on linux_chromium_chromeos_rel_ng, causing CQ jobs to be retried unacceptably. Examples:

https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_chromeos_rel_ng/543869
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_chromeos_rel_ng/543839
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_chromeos_rel_ng/543812

It looks like the test's actually skipped but that a PRE_ step is running and asserting sometimes.

[1025/1787] KioskUpdateTest.LaunchOfflineEnabledAppNoUpdate (SKIPPED)
[ RUN      ] KioskUpdateTest.PRE_LaunchOfflineEnabledAppNoUpdate
...
[6685:6685:1103/142417.625835:FATAL:extension_function.cc(505)] Check failed: !browser_client || browser_client->IsShuttingDown() || did_respond() || ignore_all_did_respond_for_testing_do_not_use. app.window.create
#0 0x000003b6858c base::debug::StackTrace::StackTrace()
#1 0x000003b8247c logging::LogMessage::~LogMessage()
#2 0x000002af8be4 UIThreadExtensionFunction::~UIThreadExtensionFunction()
#3 0x0000017d61de extensions::ChromeosInfoPrivateSetFunction::~ChromeosInfoPrivateSetFunction()
#4 0x000002b97f9b _ZN4base8internal9BindStateIM17ExtensionFunctionFvNSt3__110unique_ptrINS2_19ResponseValueObjectENS3_14default_deleteIS5_EEEEEJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEENS0_13PassedWrapperIS8_EEEE7DestroyEPKNS0_13BindStateBaseE
#5 0x000002ad999e extensions::AppWindow::~AppWindow()
#6 0x000002ad9aee extensions::AppWindow::~AppWindow()
#7 0x000002ada733 extensions::AppWindow::OnNativeClose()
#8 0x000004a27775 views::Widget::OnNativeWidgetDestroyed()
#9 0x000004a32d0b views::NativeWidgetAura::OnWindowDestroyed()
#10 0x0000058e0456 aura::Window::~Window()
#11 0x0000058e0ace aura::Window::~Window()
#12 0x0000006ce997 _ZN4base8internal7InvokerINS0_9BindStateIMN12_GLOBAL__N_116SimpleHttpServer10ConnectionEFvvEJNS_7WeakPtrIS5_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#13 0x000003b68d55 base::debug::TaskAnnotator::RunTask()
#14 0x000003c1eee9 base::internal::IncomingTaskQueue::RunTask()
#15 0x000003b8a078 base::MessageLoop::RunTask()
#16 0x000003b8a3da base::MessageLoop::DeferOrRunPendingTask()
#17 0x000003b8a666 base::MessageLoop::DoWork()
#18 0x000003b8c6f9 base::MessagePumpLibevent::Run()
#19 0x000003b899c9 base::MessageLoop::Run()
#20 0x000003bb3478 base::RunLoop::Run()
#21 0x0000041d75c3 content::RunMessageLoop()
#22 0x0000013144ab chromeos::KioskTest::WaitForAppLaunchWithOptions()
#23 0x00000130de8f chromeos::KioskUpdateTest::PreCacheAndLaunchApp()
#24 0x00000130dd81 chromeos::KioskUpdateTest_PRE_LaunchOfflineEnabledAppNoUpdate_Test::RunTestOnMainThread()
#25 0x00000419ae13 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#26 0x000003c98445 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#27 0x000003c9726d ChromeBrowserMainParts::PreMainMessageLoopRun()
#28 0x0000017a10ac chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#29 0x000002456da1 content::BrowserMainLoop::PreMainMessageLoopRun()
#30 0x000002878b55 content::StartupTaskRunner::RunAllTasksNow()
#31 0x00000245524f content::BrowserMainLoop::CreateStartupTasks()
#32 0x00000245a2d8 content::BrowserMainRunnerImpl::Initialize()
#33 0x000002452dd2 content::BrowserMain()
#34 0x000003b4a4e1 content::ContentMainRunnerImpl::Run()
#35 0x000005a67afb service_manager::Main()
...

This needs to be investigated and/or disabled right away.

 

Comment 1 by kbr@chromium.org, Nov 3 2017

Cc: jamescook@chromium.org sky@chromium.org
Cc: xiy...@chromium.org
+xiyuan

I have to leave early today, so I can't investigate right now. If it's flaky feel free to disable it.

A quick look through git history didn't show any obvious kiosk changes, so maybe it's something else.

It is probably a racing caused by how the test is written. The test probably should wait for the app to close itself instead of closing it from C++ code, which caused the chrome.app.window.create function DCHECK because it has not yet responded to invoke the callback.
Cc: -xiy...@chromium.org
Owner: xiy...@chromium.org
Status: Assigned (was: Untriaged)
Let's disable the test for now since I would not get the fix ready today. I can look at it early next week.
Looks like related to browser side navigation that is turned on recently, which makes app.window.create to response after navigation is committed [1]. And the test C++ code closes the window before that happens.

https://cs.chromium.org/chromium/src/extensions/browser/api/app_window/app_window_api.cc?rcl=a94d3aebb880652968e32153ced650b21a5757d2&l=434

Comment 6 by xiy...@chromium.org, Nov 13 2017

Mergedinto: 783903
Status: Duplicate (was: Assigned)

Sign in to add a comment