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

Issue 872059 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 8
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

DUTs with bad batteries aren't detected

Project Member Reported by derat@chromium.org, Aug 7

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?
 
Hmmm...
        # 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.

re: decommissioned, yes.

I use template go/cros-lab-device-repair

For example:
b/112198502
Status: Started (was: Assigned)
#1: Great, I've uploaded https://crrev.com/c/1166333 to do this.

#2: Thanks, filed http://b/112331162.
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Sign in to add a comment