New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 820425 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Factory: RunInRebootSequence stucks in "Chrome OS Factory: Loading..."

Project Member Reported by youcheng@chromium.org, Mar 9 2018

Issue description

Branch: factory-scarlet-10211.B

What steps will reproduce the problem?
(1) Run RunInRebootSequence for 500 times

What is the expected result?
Pass the test

What happens instead?
Stuck in "Chrome OS Factory: Loading..." page after about 90 reboots.

Note
Compare factory.log between the last goofy session and the previous goofy sessions,
there is no "[INFO] goofy web_socket_manager.py:150 Running web socket" and "[INFO] goofy web_socket_manager.py:124 Chrome UI has come up" in the last session.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Apr 23 2018

Labels: merge-merged-factory-soraka-10323.39.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22

commit 6b29c5270cddc2f4900eba380eeb1d5be5fe6b22
Author: Peter Shih <pihsun@chromium.org>
Date: Mon Apr 23 08:20:29 2018

goofy: Reload the tab when static resource failed to load.

Automatically reload the factory UI when:
1. The page is on factory UI page (http://localhost:4012/...).
2. The page had been opened for less than 10 seconds.
3. Some request to static resource (/js/, /css/) returned with error.

This should solve all goofy initial loading problem that can be solved
by simply reloading the tab.

In particular, this solves a race condition that may happen when
external network adapter is plugged in. The /index.html page would load,
but the /js/goofy.js would result in ERR_NETWORK_CHANGED, causing goofy
to hang on the loading page.

Also changed the initial page in chrome_dev.conf to a simple redirect to
extension page, since the fetch to localhost:9222 can fail because of
the same reason above too.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.
TEST=manually on DUT, test that the factory UI has keyboard focus after
     rebooting.

Change-Id: Idbd45d951441d99c327ff23f24e49564907b4835
Reviewed-on: https://chromium-review.googlesource.com/1021024
Reviewed-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>
Commit-Queue: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Tested-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>

[modify] https://crrev.com/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22/init/goofy.d/chrome_dev.conf
[modify] https://crrev.com/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22/py/goofy/factory_test_extension/main.html
[modify] https://crrev.com/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22/py/goofy/factory_test_extension/manifest.json
[modify] https://crrev.com/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22/py/goofy/factory_test_extension/background.js
[add] https://crrev.com/6b29c5270cddc2f4900eba380eeb1d5be5fe6b22/py/goofy/factory_test_extension/init.js

Project Member

Comment 2 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/d6b00c70ca7841cf9daa944aa731e94c7a144337

commit d6b00c70ca7841cf9daa944aa731e94c7a144337
Author: Peter Shih <pihsun@chromium.org>
Date: Mon Apr 23 08:20:41 2018

goofy.js: Retry if rpc call failed because of network fail.

Retry the RPC call if it failed because of network error. Similar to
what CL:1009582 tries to solve, chrome sometimes error with
ERR_NETWORK_CHANGED on some connection when there's external USB network
adapter plugged in. Since fetch() raise error on network error, which
doesn't normally happen since we're connecting to localhost, we retry on
this case.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.

Change-Id: Id630fe5afacab4ce8990a426f3c50cdd56694d3f
Reviewed-on: https://chromium-review.googlesource.com/1021025
Reviewed-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>
Commit-Queue: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Tested-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>

[modify] https://crrev.com/d6b00c70ca7841cf9daa944aa731e94c7a144337/py/goofy/js/goofy.js

Project Member

Comment 3 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62

commit 7efb1898f97169ebe2e7a6a7ff4d7296cde80c62
Author: Peter Shih <pihsun@chromium.org>
Date: Mon Apr 23 13:35:55 2018

goofy: Reload the tab when static resource failed to load.

Automatically reload the factory UI when:
1. The page is on factory UI page (http://localhost:4012/...).
2. The page had been opened for less than 10 seconds.
3. Some request to static resource (/js/, /css/) returned with error.

This should solve all goofy initial loading problem that can be solved
by simply reloading the tab.

In particular, this solves a race condition that may happen when
external network adapter is plugged in. The /index.html page would load,
but the /js/goofy.js would result in ERR_NETWORK_CHANGED, causing goofy
to hang on the loading page.

Also changed the initial page in chrome_dev.conf to a simple redirect to
extension page, since the fetch to localhost:9222 can fail because of
the same reason above too.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.
TEST=manually on DUT, test that the factory UI has keyboard focus after
     rebooting.

Change-Id: Idbd45d951441d99c327ff23f24e49564907b4835
Reviewed-on: https://chromium-review.googlesource.com/1009582
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>

[modify] https://crrev.com/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62/init/goofy.d/chrome_dev.conf
[modify] https://crrev.com/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62/py/goofy/factory_test_extension/main.html
[modify] https://crrev.com/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62/py/goofy/factory_test_extension/manifest.json
[modify] https://crrev.com/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62/py/goofy/factory_test_extension/background.js
[add] https://crrev.com/7efb1898f97169ebe2e7a6a7ff4d7296cde80c62/py/goofy/factory_test_extension/init.js

Project Member

Comment 4 by bugdroid1@chromium.org, Apr 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/5a966ae7cf93801541be2872eab00c4d04002fdd

commit 5a966ae7cf93801541be2872eab00c4d04002fdd
Author: Peter Shih <pihsun@chromium.org>
Date: Mon Apr 23 13:35:55 2018

goofy.js: Retry if rpc call failed because of network fail.

Retry the RPC call if it failed because of network error. Similar to
what CL:1009582 tries to solve, chrome sometimes error with
ERR_NETWORK_CHANGED on some connection when there's external USB network
adapter plugged in. Since fetch() raise error on network error, which
doesn't normally happen since we're connecting to localhost, we retry on
this case.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.

Change-Id: Id630fe5afacab4ce8990a426f3c50cdd56694d3f
Reviewed-on: https://chromium-review.googlesource.com/1016219
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>

[modify] https://crrev.com/5a966ae7cf93801541be2872eab00c4d04002fdd/py/goofy/js/goofy.js

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/59747abb3f8cbff297a7dd465f3c504935d564e7

commit 59747abb3f8cbff297a7dd465f3c504935d564e7
Author: Peter Shih <pihsun@chromium.org>
Date: Tue Apr 24 03:21:58 2018

goofy: Reload the tab when static resource failed to load.

Automatically reload the factory UI when:
1. The page is on factory UI page (http://localhost:4012/...).
2. The page had been opened for less than 10 seconds.
3. Some request to static resource (/js/, /css/) returned with error.

This should solve all goofy initial loading problem that can be solved
by simply reloading the tab.

In particular, this solves a race condition that may happen when
external network adapter is plugged in. The /index.html page would load,
but the /js/goofy.js would result in ERR_NETWORK_CHANGED, causing goofy
to hang on the loading page.

Also changed the initial page in chrome_dev.conf to a simple redirect to
extension page, since the fetch to localhost:9222 can fail because of
the same reason above too.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.
TEST=manually on DUT, test that the factory UI has keyboard focus after
     rebooting.

Change-Id: I8b4b51c5761e14f52603486ca9ca6b692d31cfff
Reviewed-on: https://chromium-review.googlesource.com/1009582
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1025239
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>
Commit-Queue: Pi-Hsun Shih <pihsun@chromium.org>

[modify] https://crrev.com/59747abb3f8cbff297a7dd465f3c504935d564e7/init/goofy.d/chrome_dev.conf
[modify] https://crrev.com/59747abb3f8cbff297a7dd465f3c504935d564e7/py/goofy/factory_test_extension/main.html
[modify] https://crrev.com/59747abb3f8cbff297a7dd465f3c504935d564e7/py/goofy/factory_test_extension/manifest.json
[modify] https://crrev.com/59747abb3f8cbff297a7dd465f3c504935d564e7/py/goofy/factory_test_extension/background.js
[add] https://crrev.com/59747abb3f8cbff297a7dd465f3c504935d564e7/py/goofy/factory_test_extension/init.js

Project Member

Comment 6 by bugdroid1@chromium.org, Apr 27 2018

Labels: merge-merged-factory-coral-10122.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f

commit d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f
Author: Peter Shih <pihsun@chromium.org>
Date: Fri Apr 27 02:09:11 2018

goofy: Reload the tab when static resource failed to load.

Automatically reload the factory UI when:
1. The page is on factory UI page (http://localhost:4012/...).
2. The page had been opened for less than 10 seconds.
3. Some request to static resource (/js/, /css/) returned with error.

This should solve all goofy initial loading problem that can be solved
by simply reloading the tab.

In particular, this solves a race condition that may happen when
external network adapter is plugged in. The /index.html page would load,
but the /js/goofy.js would result in ERR_NETWORK_CHANGED, causing goofy
to hang on the loading page.

Also changed the initial page in chrome_dev.conf to a simple redirect to
extension page, since the fetch to localhost:9222 can fail because of
the same reason above too.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.
TEST=manually on DUT, test that the factory UI has keyboard focus after
     rebooting.

Change-Id: Idbd45d951441d99c327ff23f24e49564907b4835
Reviewed-on: https://chromium-review.googlesource.com/1009582
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>
(cherry picked from commit 7efb1898f97169ebe2e7a6a7ff4d7296cde80c62)
Reviewed-on: https://chromium-review.googlesource.com/1031810
Reviewed-by: Wean Chang <Wean.Chang@quantatw.com>
Reviewed-by: Paris Yeh <pyeh@chromium.org>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>
Commit-Queue: Wean Chang <Wean.Chang@quantatw.com>
Tested-by: Wean Chang <Wean.Chang@quantatw.com>

[modify] https://crrev.com/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f/init/goofy.d/chrome_dev.conf
[modify] https://crrev.com/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f/py/goofy/factory_test_extension/main.html
[modify] https://crrev.com/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f/py/goofy/factory_test_extension/manifest.json
[modify] https://crrev.com/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f/py/goofy/factory_test_extension/background.js
[add] https://crrev.com/d2c3b7a725472f6ed2b1aded4c9c7e3a5766dc3f/py/goofy/factory_test_extension/init.js

Project Member

Comment 7 by bugdroid1@chromium.org, Apr 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/88387cf5aeed024843cac9db9db3a29d9b6d71eb

commit 88387cf5aeed024843cac9db9db3a29d9b6d71eb
Author: Peter Shih <pihsun@chromium.org>
Date: Fri Apr 27 02:12:18 2018

goofy.js: Retry if rpc call failed because of network fail.

Retry the RPC call if it failed because of network error. Similar to
what CL:1009582 tries to solve, chrome sometimes error with
ERR_NETWORK_CHANGED on some connection when there's external USB network
adapter plugged in. Since fetch() raise error on network error, which
doesn't normally happen since we're connecting to localhost, we retry on
this case.

BUG=b:73986058,b:72411227, chromium:820425 
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.

Change-Id: Id630fe5afacab4ce8990a426f3c50cdd56694d3f
Reviewed-on: https://chromium-review.googlesource.com/1016219
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>
(cherry picked from commit 5a966ae7cf93801541be2872eab00c4d04002fdd)
Reviewed-on: https://chromium-review.googlesource.com/1031811
Reviewed-by: Wean Chang <Wean.Chang@quantatw.com>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>
Commit-Queue: Wean Chang <Wean.Chang@quantatw.com>
Tested-by: Wean Chang <Wean.Chang@quantatw.com>

[modify] https://crrev.com/88387cf5aeed024843cac9db9db3a29d9b6d71eb/py/goofy/js/goofy.js

Project Member

Comment 8 by bugdroid1@chromium.org, May 7 2018

Labels: merge-merged-factory-fizz-10167.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/73c5863d42d6c9bc37c131c09aaa6ac0de661dae

commit 73c5863d42d6c9bc37c131c09aaa6ac0de661dae
Author: Peter Shih <pihsun@chromium.org>
Date: Mon May 07 07:01:30 2018

goofy.js: Retry if rpc call failed because of network fail.

Retry the RPC call if it failed because of network error. Similar to
what CL:1009582 tries to solve, chrome sometimes error with
ERR_NETWORK_CHANGED on some connection when there's external USB network
adapter plugged in. Since fetch() raise error on network error, which
doesn't normally happen since we're connecting to localhost, we retry on
this case.

BUG=b:73986058,b:72411227, chromium:820425 ,b:79235469
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.

Change-Id: Id630fe5afacab4ce8990a426f3c50cdd56694d3f
Reviewed-on: https://chromium-review.googlesource.com/1016219
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>
(cherry picked from commit 5a966ae7cf93801541be2872eab00c4d04002fdd)
Reviewed-on: https://chromium-review.googlesource.com/1046228
Reviewed-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Reviewed-by: Marco Chen <marcochen@chromium.org>
Commit-Queue: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Tested-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>

[modify] https://crrev.com/73c5863d42d6c9bc37c131c09aaa6ac0de661dae/py/goofy/js/goofy.js

Project Member

Comment 9 by bugdroid1@chromium.org, May 7 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/factory/+/bd5bc7345e78591ffc7a8a5c5b19941f9561c134

commit bd5bc7345e78591ffc7a8a5c5b19941f9561c134
Author: Peter Shih <pihsun@chromium.org>
Date: Mon May 07 07:01:31 2018

goofy: Reload the tab when static resource failed to load.

Automatically reload the factory UI when:
1. The page is on factory UI page (http://localhost:4012/...).
2. The page had been opened for less than 10 seconds.
3. Some request to static resource (/js/, /css/) returned with error.

This should solve all goofy initial loading problem that can be solved
by simply reloading the tab.

In particular, this solves a race condition that may happen when
external network adapter is plugged in. The /index.html page would load,
but the /js/goofy.js would result in ERR_NETWORK_CHANGED, causing goofy
to hang on the loading page.

Also changed the initial page in chrome_dev.conf to a simple redirect to
extension page, since the fetch to localhost:9222 can fail because of
the same reason above too.

BUG=b:73986058,b:72411227, chromium:820425 ,b:79235469
TEST=make test
TEST=manually on DUT, run reboot test for 1500 iterations, and pass the
     test.
TEST=manually on DUT, test that the factory UI has keyboard focus after
     rebooting.

Change-Id: Idbd45d951441d99c327ff23f24e49564907b4835
Reviewed-on: https://chromium-review.googlesource.com/1009582
Commit-Ready: Pi-Hsun Shih <pihsun@chromium.org>
Tested-by: Pi-Hsun Shih <pihsun@chromium.org>
Reviewed-by: Youcheng Syu <youcheng@chromium.org>
(cherry picked from commit 7efb1898f97169ebe2e7a6a7ff4d7296cde80c62)
Reviewed-on: https://chromium-review.googlesource.com/1046227
Reviewed-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Reviewed-by: Marco Chen <marcochen@chromium.org>
Commit-Queue: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>
Tested-by: Chia-Hsiu Chang <chia-hsiu.chang@quantatw.com>

[modify] https://crrev.com/bd5bc7345e78591ffc7a8a5c5b19941f9561c134/init/goofy.d/chrome_dev.conf
[modify] https://crrev.com/bd5bc7345e78591ffc7a8a5c5b19941f9561c134/py/goofy/factory_test_extension/main.html
[modify] https://crrev.com/bd5bc7345e78591ffc7a8a5c5b19941f9561c134/py/goofy/factory_test_extension/manifest.json
[modify] https://crrev.com/bd5bc7345e78591ffc7a8a5c5b19941f9561c134/py/goofy/factory_test_extension/background.js
[add] https://crrev.com/bd5bc7345e78591ffc7a8a5c5b19941f9561c134/py/goofy/factory_test_extension/init.js

Is this fixed?
Status: Fixed (was: Assigned)
Yes it should be.

Sign in to add a comment