page_cycler_v2.typical_25 is failing on CrOS in Oobe.readyForTesting |
|||||||||
Issue descriptionThis will block master-chromium-pfq in a few days. https://pantheon.corp.google.com/storage/browser/chromeos-autotest-results/112201905-chromeos-test/chromeos4-row11-rack9-host17/telemetry_AFDOGenerate/debug/ 04/11 20:41:05.162 DEBUG| base_utils:0185| Running 'ssh 100.115.219.135 python /home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/tools/perf/run_benchmark --verbose --browser=cros-chrome --output-format=chartjson --output-dir=/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src --remote=chromeos4-row11-rack9-host17 --pageset-repeat=1 page_cycler_v2.typical_25' 04/11 21:02:23.453 DEBUG| telemetry_runner:0284| Error occurred executing. 04/11 21:02:23.455 DEBUG| telemetry_runner:0290| Completed with exit code: 255. stdout:[ RUN ] http://www.nick.com/games@{'cache_temperature': 'pcv1-cold'} Traceback (most recent call last): File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/story_runner.py", line 82, in _RunStoryAndProcessErrorIfNeeded state.WillRunStory(story) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 214, in WillRunStory self._StartBrowser(page) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/page/shared_page_state.py", line 174, in _StartBrowser self._browser = self._possible_browser.Create(self._finder_options) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py", line 52, in Create browser_backend, self._platform_backend, self._credentials_path) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/browser/browser.py", line 58, in __init__ self._browser_backend.Start() File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome/cros_browser_backend.py", line 163, in Start self._gaia_id, not self.browser_options.disable_gaia_services) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome/oobe.py", line 61, in NavigateFakeLogin enterprise_enroll) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome/oobe.py", line 41, in _ExecuteOobeApi "typeof Oobe == 'function' && Oobe.readyForTesting", timeout=120) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/browser/web_contents.py", line 191, in WaitForJavaScriptCondition return self._inspector_backend.WaitForJavaScriptCondition(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/common/py_trace_event/py_trace_event/trace_event_impl/decorators.py", line 75, in traced_function return func(*args, **kwargs) File "/home/chromeos-test/images/chell-chrome-pfq/R59-9453.0.0-rc1/telemetry_src/src/third_party/catapult/telemetry/telemetry/internal/backends/chrome_inspector/inspector_backend.py", line 294, in WaitForJavaScriptCondition e.message + '\n' + debug_message) TimeoutException: Timed out while waiting 120s for IsJavaScriptExpressionTrue. Console output: (warning) chrome://resources/polymer/v1_0/iron-flex-layout/classes/iron-shadow-flex-layout-extracted.js:1: This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead (warning) chrome://resources/polymer/v1_0/iron-flex-layout/classes/iron-flex-layout-extracted.js:1: This file is deprecated. Please use `iron-flex-layout/iron-flex-layout-classes.html`, and one of the specific dom-modules instead (error) chrome://oobe/oobe.js:8545: TypeError: Cannot read property 'addObserver' of null at HTMLDivElement.decorate (chrome://oobe/oobe.js:17341:19) at HTMLDivElement.initializeImpl_ (chrome://oobe/oobe.js:226:12) at HTMLDivElement.initialize (chrome://oobe/oobe.js:122:35) at Object.api.register (chrome://oobe/oobe.js:435:18) at Function.initialize (chrome://oobe/oobe.js:18031:32) at HTMLDocument.<anonymous> (chrome://oobe/oobe.js:8539:10) (log) chrome://oobe/oobe.js:8042: Loading asset bundle oauth-enrollment (log) chrome://oobe/oobe.js:8026: Finished loading asset bundle oauth-enrollment
,
Apr 12 2017
,
Apr 12 2017
Please revert if a solution can't be found for this relatively soon. Dropping to P1 because TOT information bots are green.
,
Apr 13 2017
This error looks suspicious. Maybe the script execution was aborted before DOMContentLoaded handler is installed? I guess the error existed before, but it surfaced by hidehiko's change.
(error) chrome://oobe/oobe.js:8545: TypeError: Cannot read property 'addObserver' of null
at HTMLDivElement.decorate (chrome://oobe/oobe.js:17341:19)
at HTMLDivElement.initializeImpl_ (chrome://oobe/oobe.js:226:12)
at HTMLDivElement.initialize (chrome://oobe/oobe.js:122:35)
at Object.api.register (chrome://oobe/oobe.js:435:18)
at Function.initialize (chrome://oobe/oobe.js:18031:32)
at HTMLDocument.<anonymous> (chrome://oobe/oobe.js:8539:10)
That said, since hidehiko@ is OOO this week, I think it's fine to revert https://codereview.chromium.org/2803043002/ now. (I'm also OOO tomorrow so I'd like to do it by sheriffs)
,
Apr 13 2017
Hidehiko's change has added `Oobe.readyForTesting = true;` to the end of DOMContentLoaded, https://codereview.chromium.org/2805033002/ document.addEventListener('DOMContentLoaded', function() { Oobe.initialize(); Oobe.readyForTesting = true; }); but looking at the error log, Oobe.initialize() is failing in exception? chrome://oobe/oobe.js:8545: TypeError: Cannot read property 'addObserver' of null at HTMLDivElement.decorate (chrome://oobe/oobe.js:17341:19) at HTMLDivElement.initializeImpl_ (chrome://oobe/oobe.js:226:12) at HTMLDivElement.initialize (chrome://oobe/oobe.js:122:35) at Object.api.register (chrome://oobe/oobe.js:435:18) at Function.initialize (chrome://oobe/oobe.js:18031:32) at HTMLDocument.<anonymous> (chrome://oobe/oobe.js:8539:10) Moving `Oobe.readyForTesting = true;` to a finally block around the initialization may be an easy way to workaround the issue, but the fact that Oobe.initialize() is failing already sounds anxious.
,
Apr 13 2017
Issue 710387 has been merged into this issue.
,
Apr 13 2017
Thanks for looking into this. I did a small bit of investigation; it seems like it's failing somewhere in login.HIDDetectionScreen.register(), called from Oobe.initialize().
,
Apr 13 2017
Created a revert CL: https://codereview.chromium.org/2808763010/ but it looks we need LGTM from catapult-committers. nednguyen@, bccheng@, achuith@, could you take a look when you have time?
,
Apr 13 2017
Sorry for breakage. Thank you for quick investigation, nya@ and kinaba@. Also, thank you for making a quick revert CL. HIDDetectionScreen.decorate looks calling context.addObserver. According to the exception message, |context| is null here. Then, https://cs.chromium.org/chromium/src/ui/login/screen.js?rcl=46865bb32b95d0ce0f16e12c8a59bf30a6fd8da4&l=170 cr.isChromeOS looks to return false. The implementation depends on UA; https://cs.chromium.org/chromium/src/ui/webui/resources/js/cr.js?type=cs&q=cr.isChromeOS+package:%5Echromium$&l=466 And, according to the linked test log, actually UA looks not containing "CrOS". What's the expected fix for the case? - Add CrOS to UA? - Create context also with some other condition for testing purpose? - Not calling addObserver if context is null? - Anything other...?
,
Apr 13 2017
Please feel free to create another CL that has a finally block so we handle errors in OOBE initialization.
,
Apr 14 2017
Is there an estimated time for when this is fixed? If it's not fixed by Tuesday, it is going to start causing the Chrome PFQ to fail...
,
Apr 14 2017
The CL has been reverted.
,
Apr 17 2017
Let's mark this fixed now, as reverting should fix it. Filed another bug about page_cycler_v2.typical_25 failure in Oobe.initialize().
,
Apr 17 2017
Re #10: Thank you for advice. Then, let's always set the value.
,
Apr 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/341333dfb5561bc987995a3cfe05aefc3ecb17e7 commit 341333dfb5561bc987995a3cfe05aefc3ecb17e7 Author: hidehiko <hidehiko@chromium.org> Date: Tue Apr 18 03:26:43 2017 Update readyForTesting var even on Oobe.initialize() failure. |readyForTesting| was introduced to let callers know whether the DOM loading is done so testing APIs accessing DOM can be successfully called. Although, in some cases Oobe.initialize() is failed, so it timed out. Instead, this CL sets the value always. Then, callers can be notified even on failure cases, so they can avoid timeout. BUG= 710975 TEST=Ran bots. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2825453002 Cr-Commit-Position: refs/heads/master@{#465126} [modify] https://crrev.com/341333dfb5561bc987995a3cfe05aefc3ecb17e7/chrome/browser/resources/chromeos/login/login_shared.js
,
Apr 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a95956d32ac614c6b56de6bb1038c526e92a2378 commit a95956d32ac614c6b56de6bb1038c526e92a2378 Author: Hidehiko Abe <hidehiko@chromium.org> Date: Wed Apr 19 05:58:53 2017 Update readyForTesting var even on Oobe.initialize() failure. |readyForTesting| was introduced to let callers know whether the DOM loading is done so testing APIs accessing DOM can be successfully called. Although, in some cases Oobe.initialize() is failed, so it timed out. Instead, this CL sets the value always. Then, callers can be notified even on failure cases, so they can avoid timeout. BUG= 710975 TEST=Ran bots. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2825453002 Cr-Commit-Position: refs/heads/master@{#465126} (cherry picked from commit 341333dfb5561bc987995a3cfe05aefc3ecb17e7) Review-Url: https://codereview.chromium.org/2825253002 . Cr-Commit-Position: refs/branch-heads/3029@{#752} Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471} [modify] https://crrev.com/a95956d32ac614c6b56de6bb1038c526e92a2378/chrome/browser/resources/chromeos/login/login_shared.js
,
Apr 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f04994956c70496a087fb184d815b5d40bc0daf6 commit f04994956c70496a087fb184d815b5d40bc0daf6 Author: Hidehiko Abe <hidehiko@chromium.org> Date: Wed Apr 19 06:21:43 2017 Update readyForTesting var even on Oobe.initialize() failure. |readyForTesting| was introduced to let callers know whether the DOM loading is done so testing APIs accessing DOM can be successfully called. Although, in some cases Oobe.initialize() is failed, so it timed out. Instead, this CL sets the value always. Then, callers can be notified even on failure cases, so they can avoid timeout. BUG= 710975 TEST=Ran bots. CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Review-Url: https://codereview.chromium.org/2825453002 Cr-Commit-Position: refs/heads/master@{#465126} (cherry picked from commit 341333dfb5561bc987995a3cfe05aefc3ecb17e7) Review-Url: https://codereview.chromium.org/2828443004 . Cr-Commit-Position: refs/branch-heads/3071@{#46} Cr-Branched-From: a106f0abbf69dad349d4aaf4bcc4f5d376dd2377-refs/heads/master@{#464641} [modify] https://crrev.com/f04994956c70496a087fb184d815b5d40bc0daf6/chrome/browser/resources/chromeos/login/login_shared.js
,
May 9 2017
Issue 718687 has been merged into this issue.
,
May 30 2017
,
Aug 1 2017
,
Jan 22 2018
|
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by laszio@chromium.org
, Apr 12 2017