New issue
Advanced search Search tips

Issue 681833 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

AdbShellCommandFailedError not pickled properly across multiprocessing workers in webkit_tests

Project Member Reported by jbudorick@chromium.org, Jan 17 2017

Issue description

e.g.

TypeError raised: ('__init__() takes at least 4 arguments (2 given)', <class 'devil.android.device_errors.AdbShellCommandFailedError'>, ('(device: 0273818f0c5cabb6) shell command run via adb failed on the device:\n  command: ls -n /data/tombstones/tombstone_*\n  exit status: 1\n  output:\n  - /data/tombstones/tombstone_*: No such file or directory\n',))
Traceback (most recent call last):
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 67, in main
    return run(port, options, args, stderr, stdout).exit_code
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 580, in run
    run_details = _run_tests(port, options, args, printer)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py", line 571, in _run_tests
    return manager.run(args)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 133, in run
    num_workers)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py", line 360, in _run_tests
    tests_to_skip, num_workers, retry_attempt)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 122, in run_tests
    pool.run(('test_list', shard.name, shard.test_inputs) for shard in all_shards)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 95, in run
    self.wait()
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 127, in wait
    self._loop(block=True)
  File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 172, in _loop
    message = self._messages_to_manager.get(block)
  File "/usr/lib/python2.7/multiprocessing/queues.py", line 117, in get
    res = self._recv()
TypeError: ('__init__() takes at least 4 arguments (2 given)', <class 'devil.android.device_errors.AdbShellCommandFailedError'>, ('(device: 0273818f0c5cabb6) shell command run via adb failed on the device:\n  command: ls -n /data/tombstones/tombstone_*\n  exit status: 1\n  output:\n  - /data/tombstones/tombstone_*: No such file or directory\n',))

(from https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/59548)

Here, it fails to find any tombstones on the device (which is ok) and raises an exception in a worker process. On trying to recreate that exception in the master process, we get the error above.

While this is currently happening in webkit_tests on the WebKit Android (Nexus4) bot, it's not exclusive to that suite (beyond its runner's use of multiprocessing) or that bot.
 
Components: Test>Android
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 18 2017

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

commit 133c4ea387a4a1454e3e730b6734d2878b77f910
Author: catapult-deps-roller <catapult-deps-roller@chromium.org>
Date: Wed Jan 18 02:30:37 2017

Roll src/third_party/catapult/ 143ba4dde..cfcae9b97 (1 commit).

https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/143ba4ddeb05..cfcae9b972f2

$ git log 143ba4dde..cfcae9b97 --date=short --no-merges --format='%ad %ae %s'
2017-01-17 jbudorick [devil] Make all device_errors picklable and unpicklable.

BUG= 681833 

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, see:
http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls

CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel
TBR=catapult-sheriff@chromium.org

Review-Url: https://codereview.chromium.org/2635413002
Cr-Commit-Position: refs/heads/master@{#444250}

[modify] https://crrev.com/133c4ea387a4a1454e3e730b6734d2878b77f910/DEPS

Status: Fixed (was: Assigned)

Sign in to add a comment