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

Issue 804762 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

display_boot_message fails if the DUT is not connected with a monitor

Project Member Reported by yllin@chromium.org, Jan 23 2018

Issue description

Chrome Version: ChromeOS

What steps will reproduce the problem?
(1) A ChromeOS device without a screen/monitor
(2) Run factory pytest finalize
(3) unplug screen/monitor
(4) The finalization fails at inform_shopfloor/wipe (calls display_boot_messsage)

What is the expected result?
  Finalize success

What happens instead?
  It fails on inform_shopfloor.
  This is related to the frecon not able to rendering display if not connected to a monitor.

request to:
1. should be able to success on inform_shopfloor/wipe without a monitor connected
2. should be able to bring back the display once we reconnect the monitor
 

Comment 1 by yllin@chromium.org, Jan 23 2018

This is also reported at https://buganizer.corp.google.com/issues/72288672
Did an offline discussion with Kitty to figure out the root cause and also found it is caused by display_boot_message. In Kitty's environment, even external screen is connected, dut will still be stuck in display_boot_message. Also got this error when screen is connected.

localhost ~ # watch -n 0.1 cat /run/frecon/vt0
Error opening terminal: xterm-256color.

Thanks for Kitty to reproduce it and share the test result.
I did not see /run/frecon/vt0 while I ran the inform_shopfloor.sh. Not sure when it was gone.

Comment 5 by yllin@chromium.org, Jan 31 2018

Owner: yllin@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 31 2018

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

commit 628554611ac1647732c6b4d6a5ee2355969c9c01
Author: Yilun Lin <yllin@google.com>
Date: Wed Jan 31 09:18:42 2018

inform_shopfloor: Explicitly return 0 on informing success.

TTY for devices without a connected monitor/display may disappear on
wiping staging, thus return non-zero value when we pipes to the TTY
device. Since the goal to pipe information to TTY is to show the
current status on screen, we can just expliclty return True for the case.

TEST=run finalize without a connected monitor, and check it shutdown.
BUG= chromium:804762 

Change-Id: I74fbc9a80bf5e91e30b303bf94ae2ed2abd5189a
Reviewed-on: https://chromium-review.googlesource.com/895343
Reviewed-by: Yilun Lin <yllin@chromium.org>
Commit-Queue: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>

[modify] https://crrev.com/628554611ac1647732c6b4d6a5ee2355969c9c01/sh/cutoff/inform_shopfloor.sh

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 31 2018

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

commit b169e3c37744691b3913b41d3da2b904383302f6
Author: Yilun Lin <yllin@google.com>
Date: Wed Jan 31 09:18:44 2018

gooftool/wipe: Output useful log when informing shopfloor.

Using check_call=True forces raising exception when the subprocess
returns error. It won't print any information. Instead, we should
check the returncode manually so that we can log information from stdout/stderr.

TEST=manual test
BUG= chromium:804762 

Change-Id: I7330d5b8bd2b58c9db0577b9d7bbe971ee658d9e
Reviewed-on: https://chromium-review.googlesource.com/894929
Reviewed-by: Yilun Lin <yllin@chromium.org>
Commit-Queue: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>

[modify] https://crrev.com/b169e3c37744691b3913b41d3da2b904383302f6/py/gooftool/wipe.py

Project Member

Comment 8 by bugdroid1@chromium.org, Jan 31 2018

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

commit dbb8af7fecf11b569104372ac51837f948103530
Author: Yilun Lin <yllin@google.com>
Date: Wed Jan 31 13:57:59 2018

gooftool/wipe: Output useful log when informing shopfloor.

Using check_call=True forces raising exception when the subprocess
returns error. It won't print any information. Instead, we should
check the returncode manually so that we can log information from stdout/stderr.

TEST=manual test
BUG= chromium:804762 

Change-Id: I7330d5b8bd2b58c9db0577b9d7bbe971ee658d9e
Reviewed-on: https://chromium-review.googlesource.com/895214
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>

[modify] https://crrev.com/dbb8af7fecf11b569104372ac51837f948103530/py/gooftool/wipe.py

Project Member

Comment 9 by bugdroid1@chromium.org, Jan 31 2018

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

commit 03255e39917d128764d91e865a9398a8c288d835
Author: Yilun Lin <yllin@google.com>
Date: Wed Jan 31 13:57:59 2018

inform_shopfloor: Explicitly return 0 on informing success.

TTY for devices without a connected monitor/display may disappear on
wiping staging, thus return non-zero value when we pipes to the TTY
device. Since the goal to pipe information to TTY is to show the
current status on screen, we can just expliclty return True for the case.

TEST=run finalize without a connected monitor, and check it shutdown.
BUG= chromium:804762 

Change-Id: I74fbc9a80bf5e91e30b303bf94ae2ed2abd5189a
Reviewed-on: https://chromium-review.googlesource.com/895215
Commit-Ready: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Pi-Hsun Shih <pihsun@chromium.org>

[modify] https://crrev.com/03255e39917d128764d91e865a9398a8c288d835/sh/cutoff/inform_shopfloor.sh

Project Member

Comment 10 by bugdroid1@chromium.org, Feb 1 2018

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

commit 3490d11c21774fef982b0dabe1e46f3d67d96b22
Author: Yilun Lin <yllin@google.com>
Date: Thu Feb 01 08:48:31 2018

cutoff/options: Select a pipeable tty.

A device exists doesn't mean the tty is pipeable. We should test and
then select.
Also, remove the 'return 0' hack from the inform_shopfloor.

TEST=manual
BUG= chromium:804762 

Change-Id: Ida32589a79c025d86bbb1c2f3aeb2dafbeef1358
Reviewed-on: https://chromium-review.googlesource.com/897024
Reviewed-by: Yilun Lin <yllin@chromium.org>
Commit-Queue: Yilun Lin <yllin@chromium.org>
Tested-by: Yilun Lin <yllin@chromium.org>

[modify] https://crrev.com/3490d11c21774fef982b0dabe1e46f3d67d96b22/sh/cutoff/inform_shopfloor.sh
[modify] https://crrev.com/3490d11c21774fef982b0dabe1e46f3d67d96b22/sh/cutoff/options.sh

Project Member

Comment 11 by bugdroid1@chromium.org, Feb 1 2018

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

commit d6655bc9618aca79d53a55112c161653d63bef24
Author: Yilun Lin <yllin@google.com>
Date: Thu Feb 01 18:07:49 2018

cutoff/options: Select a pipeable tty.

A device exists doesn't mean the tty is pipeable. We should test and
then select.
Also, remove the 'return 0' hack from the inform_shopfloor.

TEST=manual
BUG= chromium:804762 

Change-Id: Ida32589a79c025d86bbb1c2f3aeb2dafbeef1358
Reviewed-on: https://chromium-review.googlesource.com/897287
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Yilun Lin <yllin@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>

[modify] https://crrev.com/d6655bc9618aca79d53a55112c161653d63bef24/sh/cutoff/inform_shopfloor.sh
[modify] https://crrev.com/d6655bc9618aca79d53a55112c161653d63bef24/sh/cutoff/options.sh

Status: Verified (was: Untriaged)

Sign in to add a comment