New issue
Advanced search Search tips

Issue 783903 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

KioskUpdateTest.LaunchOfflineEnabledAppNoUpdate is flaky

Project Member Reported by adithyas@chromium.org, Nov 10 2017

Issue description

The test is flaky on Linux ChromiumOS Tests dbg.

Flakiness dashboard: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=KioskUpdateTest.LaunchOfflineEnabledAppNoUpdate

Example failure: https://luci-milo.appspot.com/buildbot/chromium.chromiumos/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/31977

Stack trace:
[14265:14265:1110/112322.191633: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 0x7fe114eb38cd base::debug::StackTrace::StackTrace()
#1 0x7fe114eb1e4c base::debug::StackTrace::StackTrace()
#2 0x7fe114f36b1d logging::LogMessage::~LogMessage()
#3 0x0000037db5f3 UIThreadExtensionFunction::~UIThreadExtensionFunction()
#4 0x000003202275 extensions::FileManagerPrivateGetDriveConnectionStateFunction::~FileManagerPrivateGetDriveConnectionStateFunction()
#5 0x000003202299 extensions::FileManagerPrivateGetDriveConnectionStateFunction::~FileManagerPrivateGetDriveConnectionStateFunction()
#6 0x0000037de1f1 content::BrowserThread::DeleteOnThread<>::Destruct<>()
#7 0x0000037db8b5 UIThreadExtensionFunction::Destruct()
#8 0x0000037d65f6 ExtensionFunctionDeleteTraits::Destruct()
#9 0x000001859c0c base::RefCountedThreadSafe<>::Release()
#10 0x000001859bc9 scoped_refptr<>::Release()
#11 0x000001858e8a scoped_refptr<>::~scoped_refptr()
#12 0x000003a94745 std::__1::__tuple_leaf<>::~__tuple_leaf()
#13 0x000003a9471f _ZNSt3__112__tuple_implINS_15__tuple_indicesIJLm0ELm1EEEEJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEEN4base8internal13PassedWrapperINS_10unique_ptrIN17ExtensionFunction19ResponseValueObjectENS_14default_deleteISC_EEEEEEEED2Ev
#14 0x000003a946e5 _ZNSt3__15tupleIJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEEN4base8internal13PassedWrapperINS_10unique_ptrIN17ExtensionFunction19ResponseValueObjectENS_14default_deleteISA_EEEEEEEED2Ev
#15 0x000003a946b3 _ZN4base8internal9BindStateIM17ExtensionFunctionFvNSt3__110unique_ptrINS2_19ResponseValueObjectENS3_14default_deleteIS5_EEEEEJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEENS0_13PassedWrapperIS8_EEEED2Ev
#16 0x000003a94677 _ZN4base8internal9BindStateIM17ExtensionFunctionFvNSt3__110unique_ptrINS2_19ResponseValueObjectENS3_14default_deleteIS5_EEEEEJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEENS0_13PassedWrapperIS8_EEEE7DestroyEPKNS0_13BindStateBaseE
#17 0x7fe114e634d5 base::internal::BindStateBaseRefCountTraits::Destruct()
#18 0x7fe114e63ee8 base::RefCountedThreadSafe<>::Release()
#19 0x7fe114e63ea5 scoped_refptr<>::Release()
#20 0x7fe114e63e4a scoped_refptr<>::~scoped_refptr()
#21 0x7fe114e63945 base::internal::CallbackBase::~CallbackBase()
#22 0x0000009265c5 base::OnceCallback<>::~OnceCallback()
#23 0x0000008fce45 base::RepeatingCallback<>::~RepeatingCallback()
#24 0x000003761ba2 extensions::AppWindow::~AppWindow()
#25 0x0000037620b9 extensions::AppWindow::~AppWindow()
#26 0x000003762ec9 extensions::AppWindow::OnNativeClose()
#27 0x00000ab48580 native_app_window::NativeAppWindowViews::DeleteDelegate()
#28 0x7fe11172b40d views::Widget::OnNativeWidgetDestroyed()
#29 0x7fe111770fca views::NativeWidgetAura::OnWindowDestroyed()
#30 0x7fe108bda5c8 aura::Window::~Window()
#31 0x7fe108bdb129 aura::Window::~Window()
#32 0x7fe11176f75f views::NativeWidgetAura::CloseNow()
 
CL to disable test: https://crrev.com/c/763712
Project Member

Comment 2 by bugdroid1@chromium.org, Nov 10 2017

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

commit fd376acb53e6822db7268ddcd6546c9e48537f30
Author: Adithya Srinivasan <adithyas@chromium.org>
Date: Fri Nov 10 21:57:27 2017

Disable KioskUpdateTest.LaunchOfflineEnabledAppNoUpdate

The test is flaky on debug builds.

TBR=jdufault@chromium.org

Bug:  783903 
Change-Id: Ib2fa3502dee27b7bb299b2bc5fef4683815b9a24
Reviewed-on: https://chromium-review.googlesource.com/763712
Reviewed-by: Adithya Srinivasan <adithyas@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515700}
[modify] https://crrev.com/fd376acb53e6822db7268ddcd6546c9e48537f30/chrome/browser/chromeos/login/kiosk_browsertest.cc

Cc: -jdufault@chromium.org adithyas@chromium.org
Labels: -Sheriff-Chromium OS-Linux
Owner: jdufault@chromium.org
jdufault@: Could you PTAL at why this test is flaky, or reassign to someone else?
Thank you!
Cc: jdufault@chromium.org
Owner: r...@chromium.org
+rkc@ to redirect to kiosk maintainer 

Comment 5 by r...@chromium.org, Nov 13 2017

Cc: r...@chromium.org xiy...@chromium.org
Owner: atwilson@chromium.org

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

Cc: sky@chromium.org jamescook@chromium.org
 Issue 781426  has been merged into this issue.

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

Copied from the other bug:

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
Owner: xiy...@chromium.org
From comments in the other bug, sounds like you have a fix in progress xiyuan? If not, send it back to me and my team can take a look.
I've also seen something similar on mus_browser_tests, but in KioskUpdateTest.PRE_LaunchAppWithUpdatedModule

https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_chromeos_rel_ng/550536

[31405:31405:1113/160013.500780: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 0x000003be038c base::debug::StackTrace::StackTrace()
#1 0x000003bfa1ac logging::LogMessage::~LogMessage()
#2 0x000002b76204 UIThreadExtensionFunction::~UIThreadExtensionFunction()
#3 0x00000180d3fe extensions::ChromeosInfoPrivateSetFunction::~ChromeosInfoPrivateSetFunction()
#4 0x000002c1642b _ZN4base8internal9BindStateIM17ExtensionFunctionFvNSt3__110unique_ptrINS2_19ResponseValueObjectENS3_14default_deleteIS5_EEEEEJ13scoped_refptrIN10extensions23AppWindowCreateFunctionEENS0_13PassedWrapperIS8_EEEE7DestroyEPKNS0_13BindStateBaseE
#5 0x000002b56f9e extensions::AppWindow::~AppWindow()
#6 0x000002b570ee extensions::AppWindow::~AppWindow()
#7 0x000002b57d33 extensions::AppWindow::OnNativeClose()
#8 0x000004aa6c25 views::Widget::OnNativeWidgetDestroyed()
#9 0x000004ab20bb views::NativeWidgetAura::OnWindowDestroyed()
#10 0x0000059a2bd6 aura::Window::~Window()
#11 0x0000059a324e aura::Window::~Window()
#12 0x0000006d6107 _ZN4base8internal7InvokerINS0_9BindStateIMN12_GLOBAL__N_116SimpleHttpServer10ConnectionEFvvEJNS_7WeakPtrIS5_EEEEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#13 0x000003be0b45 base::debug::TaskAnnotator::RunTask()
#14 0x000003c97389 base::internal::IncomingTaskQueue::RunTask()
#15 0x000003c01e18 base::MessageLoop::RunTask()
#16 0x000003c0217a base::MessageLoop::DeferOrRunPendingTask()
#17 0x000003c02406 base::MessageLoop::DoWork()
#18 0x000003c04499 base::MessagePumpLibevent::Run()
#19 0x000003c01769 base::MessageLoop::Run()
#20 0x000003c2b288 base::RunLoop::Run()
#21 0x000004250403 content::RunMessageLoop()
#22 0x00000134241b chromeos::KioskTest::WaitForAppLaunchWithOptions()
#23 0x00000134776c chromeos::KioskUpdateTest::LaunchKioskWithSecondaryApps()
#24 0x0000013466d4 chromeos::KioskUpdateTest::LaunchAppWithSharedModule()
#25 0x000001346830 chromeos::KioskUpdateTest_PRE_LaunchAppWithUpdatedModule_Test::RunTestOnMainThread()
#26 0x000004214023 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop()
#27 0x000003d11675 ChromeBrowserMainParts::PreMainMessageLoopRunImpl()
#28 0x000003d1049d ChromeBrowserMainParts::PreMainMessageLoopRun()
#29 0x0000017d700c chromeos::ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun()
#30 0x0000024b9021 content::BrowserMainLoop::PreMainMessageLoopRun()
#31 0x0000028e6c25 content::StartupTaskRunner::RunAllTasksNow()
#32 0x0000024b74af content::BrowserMainLoop::CreateStartupTasks()
#33 0x0000024bc5b8 content::BrowserMainRunnerImpl::Initialize()
#34 0x0000024b4ff2 content::BrowserMain()
#35 0x000003bc1e91 content::ContentMainRunnerImpl::Run()
#36 0x000005b654eb service_manager::Main()
#37 0x000003bc0874 content::ContentMain()
#38 0x000004213c95 content::BrowserTestBase::SetUp()
#39 0x000003ccb239 InProcessBrowserTest::SetUp()
#40 0x0000013a4411 chromeos::OobeBaseTest::SetUp()
#41 0x000001349fc8 chromeos::KioskTest::SetUp()
#42 0x000001b3e631 testing::Test::Run()
#43 0x000001b3f120 testing::TestInfo::Run()
#44 0x000001b3f607 testing::TestCase::Run()
#45 0x000001b45bb7 testing::internal::UnitTestImpl::RunAllTests()
#46 0x000001b45837 testing::UnitTest::Run()
#47 0x000003ce1122 base::TestSuite::Run()
#48 0x000003bd3389 ChromeTestSuiteRunner::RunTestSuite()
#49 0x00000424aa14 content::LaunchTests()
#50 0x000003bd37b5 LaunchChromeTests()
#51 0x000003bd3206 RunMashBrowserTests()
#52 0x000003bd30b7 main
#53 0x7fc515286f45 __libc_start_main
#54 0x0000005ace3a _start

[982/1710] KioskUpdateTest.PRE_LaunchAppWithUpdatedModule (CRASHED)

Labels: -OS-Linux OS-Chrome
Let me try whether we can fix the problem by making AppWindowWaiter also wait for navigation commit.
CL: https://chromium-review.googlesource.com/c/chromium/src/+/775902

Decided to fix in AppWindow because it could happen in real life. AppWindow close and navigation is independent of each other. We should handle the case where AppWindow is closed before navigation is committed.
Project Member

Comment 12 by bugdroid1@chromium.org, Nov 21 2017

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

commit c4fd39b54de044bdd10e733d3a10aa506cd4009d
Author: Xiyuan Xia <xiyuan@chromium.org>
Date: Tue Nov 21 23:24:26 2017

Fix DCHECK when closing AppWindow before nav commit

DCHECK happens for AppWindowCreateFunction did_respond() when an
AppWindow is closed before OnReadyToCommitFirstNavigation is invoked.
This is because AppWindowCreateFunction respond is deferred
until navigation is committed when PlzNavigate is enabled.

Bug:  783903 
Change-Id: I2d0ef5ee1611c869314a8c9fe07808235f6e318c
Reviewed-on: https://chromium-review.googlesource.com/775902
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#518437}
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/chrome/browser/chromeos/login/kiosk_browsertest.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/api/app_window/app_window_api.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/api/app_window/app_window_api.h
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/app_window.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/app_window.h
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/app_window_contents.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/app_window_contents.h
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/test_app_window_contents.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/browser/app_window/test_app_window_contents.h
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/common/extension_messages.h
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/renderer/extension_frame_helper.cc
[modify] https://crrev.com/c4fd39b54de044bdd10e733d3a10aa506cd4009d/extensions/renderer/extension_frame_helper.h

Status: Fixed (was: Assigned)
app.window.create DCHECK in #0 and #9 should no longer happen.

Comment 14 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 15 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment