New issue
Advanced search Search tips

Issue 775895 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

CQ bots crash on render test failure upload attempts

Project Member Reported by dgn@chromium.org, Oct 18 2017

Issue description

Example build: https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/409096

Trace:

E  606.982s Main  Unrecognized error occurred.
Traceback (most recent call last):
  File "/b/swarming/w/ir/build/android/test_runner.py", line 1010, in main
    return RunTestsCommand(args)
  File "/b/swarming/w/ir/build/android/test_runner.py", line 735, in RunTestsCommand
    return RunTestsInPlatformMode(args)
  File "/b/swarming/w/ir/build/android/test_runner.py", line 857, in RunTestsInPlatformMode
    raw_results = test_run.RunTests()
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_test_run.py", line 129, in RunTests
    run_tests_on_device, tc, try_results).pGet(None)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/parallelizer.py", line 263, in pMap
    r.pFinish(None)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/parallelizer.py", line 135, in pFinish
    self._objs.JoinAll()
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 186, in JoinAll
    self._JoinAll(watcher, timeout)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 158, in _JoinAll
    thread.ReraiseIfException()
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 81, in run
    self._ret = self._func(*self._args, **self._kwargs)
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_environment.py", line 66, in wrapper
    return f(dev, *args, **kwargs)
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_test_run.py", line 72, in run_tests_on_device
    device=dev)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/crash_handler.py", line 32, in RetryOnSystemCrash
    return f(device)
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_test_run.py", line 71, in <lambda>
    lambda d, t=test: self._RunTest(d, t),
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_instrumentation_test_run.py", line 519, in _RunTest
    step()
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_instrumentation_test_run.py", line 502, in handle_render_test_data
    device, render_tests_device_output_dir, results)
  File "/b/swarming/w/ir/build/android/pylib/local/device/local_device_instrumentation_test_run.py", line 756, in _ProcessRenderTestResults
    golden_image_device_file, golden_image_host_file)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/decorators.py", line 57, in timeout_retry_wrapper
    retry_if_func=retry_if_func)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/timeout_retry.py", line 157, in Run
    error_log_func=error_log_func)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 186, in JoinAll
    self._JoinAll(watcher, timeout)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 158, in _JoinAll
    thread.ReraiseIfException()
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/reraiser_thread.py", line 81, in run
    self._ret = self._func(*self._args, **self._kwargs)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/utils/timeout_retry.py", line 150, in <lambda>
    child_thread = reraiser_thread.ReraiserThread(lambda: func(*args, **kwargs),
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/decorators.py", line 47, in impl
    return f(*args, **kwargs)
  File "/b/swarming/w/ir/third_party/catapult/devil/devil/android/device_utils.py", line 1704, in PullFile
    dirname = os.path.dirname(host_path)
  File "/usr/lib/python2.7/posixpath.py", line 122, in dirname
    i = p.rfind('/') + 1
AttributeError: 'GoogleStorageArchivedFile' object has no attribute 'rfind'


Suspecting https://chromium-review.googlesource.com/c/chromium/src/+/723659, that seems to be passing a GoogleStorageArchivedFile to PullFile while it expects a String

 
Status: Started (was: Assigned)
Argh, yep. Missed that in the reland.
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 19 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38a64aa38c9405f8d0d6c2ddd8aea174761d9bb5

commit 38a64aa38c9405f8d0d6c2ddd8aea174761d9bb5
Author: John Budorick <jbudorick@chromium.org>
Date: Thu Oct 19 15:47:34 2017

[android] Pass the host file name when pulling render results.

Bug:  775895 
Change-Id: I1c1c59425bea8a8690b8e8706a4e0c7ce96033bf
Reviewed-on: https://chromium-review.googlesource.com/727196
Reviewed-by: Yoland Yan <yolandyan@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510096}
[modify] https://crrev.com/38a64aa38c9405f8d0d6c2ddd8aea174761d9bb5/build/android/pylib/local/device/local_device_instrumentation_test_run.py

Status: Fixed (was: Started)

Sign in to add a comment