Commit 70fcbab8 authored by tonyg@chromium.org's avatar tonyg@chromium.org

Revert of [Telemetry] Fix a flake in android browser finder....

Revert of [Telemetry] Fix a flake in android browser finder. (https://codereview.chromium.org/394423002/)

Reason for revert:
BUG=395228

Original issue's description:
> [Telemetry] Fix a flake in android browser finder.
> 
> Traceback (most recent call last):
>   File "tools/perf/../telemetry/telemetry/decorators.py", line 50, in wrapper
>     func(*args, **kwargs)
>   File "/b/build/slave/Android_Tests/build/src/tools/perf/benchmarks/benchmark_unittest.py", line 51, in BenchmarkSmokeTest
>     self.assertEqual(0, SinglePageBenchmark().Run(options),
>   File "tools/perf/../telemetry/telemetry/benchmark.py", line 84, in Run
>     results = page_runner.Run(test, ps, expectations, args)
>   File "tools/perf/../telemetry/telemetry/page/page_runner.py", line 346, in Run
>     possible_browser = browser_finder.FindBrowser(finder_options)
>   File "tools/perf/../telemetry/telemetry/decorators.py", line 26, in Cacher
>     cache[key] = obj(*args, **kwargs)
>   File "tools/perf/../telemetry/telemetry/core/browser_finder.py", line 73, in FindBrowser
>     curr_browsers = finder.FindAllAvailableBrowsers(options)
>   File "tools/perf/../telemetry/telemetry/core/backends/chrome/android_browser_finder.py", line 214, in FindAllAvailableBrowsers
>     pids  = [p.pid for p in psutil.process_iter() if 'adb' in p.name]
>   File "/usr/lib/python2.7/dist-packages/psutil/__init__.py", line 161, in name
>     cmdline = self.cmdline
>   File "/usr/lib/python2.7/dist-packages/psutil/__init__.py", line 188, in cmdline
>     return self._platform_impl.get_process_cmdline()
>   File "/usr/lib/python2.7/dist-packages/psutil/_pslinux.py", line 327, in wrapper
>     raise NoSuchProcess(self.pid, self._process_name)
> NoSuchProcess: process no longer exists (pid=13764)
> 
> Observed here:
> http://build.chromium.org/p/chromium.linux/builders/Android%20Tests/builds/14626/steps/telemetry_perf_unittests/logs/stdio
> 
> BUG=
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284144

TBR=dtu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/407633002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284187 0039d316-1c4b-4281-b951-d872f2087c98
parent 70ff25dc
......@@ -19,11 +19,6 @@ from telemetry.core.backends import adb_commands
from telemetry.core.backends.chrome import android_browser_backend
from telemetry.core.platform import android_platform_backend
try:
import psutil # pylint: disable=F0401
except ImportError:
psutil = None
CHROME_PACKAGE_NAMES = {
'android-content-shell':
......@@ -212,15 +207,19 @@ def FindAllAvailableBrowsers(finder_options, logging=real_logging):
# Ignore result.
adb.EnableAdbRoot()
if psutil:
# Host side workaround for crbug.com/268450 (adb instability).
if sys.platform.startswith('linux'):
# Host side workaround for crbug.com/268450 (adb instability)
# The adb server has a race which is mitigated by binding to a single core.
for proc in psutil.process_iter():
try:
if 'adb' in proc.name:
proc.set_cpu_affinity([0])
except (psutil.NoSuchProcess, psutil.AccessDenied):
logging.warn('Failed to set adb process CPU affinity')
import psutil # pylint: disable=F0401
pids = [p.pid for p in psutil.process_iter() if 'adb' in p.name]
with open(os.devnull, 'w') as devnull:
for pid in pids:
ret = subprocess.call(['taskset', '-p', '-c', '0', str(pid)],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
stdin=devnull)
if ret:
logging.warn('Failed to taskset %d (%s)', pid, ret)
if not os.environ.get('BUILDBOT_BUILDERNAME'):
# Killing adbd before running tests has proven to make them less likely to
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment