DUTs with bad batteries aren't detected |
|||
Issue description
chromeos6-row4-rack15-host17.cros appears to have a broken battery:
# dump_power_status
[0807/164452:WARNING:power_supply.cc(946)] Ignoring reading with battery charge of 0 and battery-full charge of 0
[0807/164452:FATAL:dump_power_status.cc(58)] Check failed: power_supply.RefreshImmediately().
/usr/lib64/libbase-core-395517.so(_ZN4base5debug10StackTraceC1Ev+0x13) [0x78085a1acb13]
Aborted (core dumped)
# print_sysfs_power_supply_data
/sys/class/power_supply/AC
online 1
type Mains
/sys/class/power_supply/BAT0
alarm 0
capacity 0
capacity_level Normal
charge_full 0
charge_full_design 3300000
charge_now 0
current_now 0
cycle_count 0
manufacturer SMP-CA3
model_name
present 1
serial_number
status Unknown
technology Li-ion
type Battery
voltage_min_design 11100000
voltage_now 437000
This has been causing repeated failures in the power.CheckStatus Tast test.
Should this DUT be decommissioned?
I'm guessing that cros_repair.py isn't catching it since it ignores failures from host.get_power_supply_info:
"""Check for AC power and a reasonable battery charge."""
def verify(self, host):
# pylint: disable=missing-docstring
# Temporarily work around a problem caused by some old FSI
# builds that don't have the power_supply_info command by
# ignoring failures. The repair triggers believe that this
# verifier can't be fixed by re-installing, which means if a DUT
# gets stuck with one of those old builds, it can't be repaired.
#
# TODO(jrbarnette): This is for crbug.com/599158 ; we need a
# better solution.
try:
info = host.get_power_supply_info()
except:
logging.exception('get_power_supply_info() failed')
return
...
Richard, can I remove this 'except' clause now?
,
Aug 8
re: decommissioned, yes. I use template go/cros-lab-device-repair For example: b/112198502
,
Aug 8
#1: Great, I've uploaded https://crrev.com/c/1166333 to do this. #2: Thanks, filed http://b/112331162.
,
Aug 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/02b533b6d84296fb1b952775d36eb35638bbe68a commit 02b533b6d84296fb1b952775d36eb35638bbe68a Author: Daniel Erat <derat@chromium.org> Date: Wed Aug 08 20:45:58 2018 autotest: Make cros_repair verify power_supply_info runs. Make cros_repair.ACPowerVerifier report failure if power_supply_info doesn't run successfully (often indicating a broken DUT) or if it doesn't find a line power source. BUG= chromium:872059 TEST=none Change-Id: Ie5f328bf3fd77a3495f1e8a49b70edb2d92e1882 Reviewed-on: https://chromium-review.googlesource.com/1166333 Commit-Ready: Dan Erat <derat@chromium.org> Tested-by: Dan Erat <derat@chromium.org> Reviewed-by: Richard Barnette <jrbarnette@google.com> [modify] https://crrev.com/02b533b6d84296fb1b952775d36eb35638bbe68a/server/hosts/cros_repair.py
,
Aug 8
|
|||
►
Sign in to add a comment |
|||
Comment 1 by jrbarnette@chromium.org
, Aug 8Hmmm... # ignoring failures. The repair triggers believe that this # verifier can't be fixed by re-installing, which means if a DUT # gets stuck with one of those old builds, it can't be repaired. That statement hasn't been true for some two years, since this CL: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/351501 That was done because of bug 617704 (where we discovered, that yes, in fact, if a DUT says "No AC Power", it can so be fixed by updating the software). > Richard, can I remove this 'except' clause now? Seems that way, yes.