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

Issue 760399 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Need swarming_cron support restarting device when checking failed

Project Member Reported by shenghua...@chromium.org, Aug 30 2017

Issue description

All ios11 swarming bots devices somehow would turn to be unavailable, happening every 3~4 hours since August 28 afternoon. So the swarming_cron device_check_egtests job would fail:
https://touch-swarming.appspot.com/task?id=384230c046e2c710

We are not sure if that is an ios beta bug.

The devices will be available again after restarting `$ idevicediagnostics restart`. For now will let swarming_cron support restarting device when the test cannot start up on device.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 1 2017

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

commit 228735e7a366db4600016c3ce8d023ce1c795820
Author: Shenghua Zhang <shenghuazhang@chromium.org>
Date: Fri Sep 01 22:06:13 2017

[Bling] Support restart device when test crash on startup

Need to support restarting device when test crash on startup for ios11
swarming bot. Adds the logic in ios test_runner.py. Adds a flag 'restart'
which only swarming_cron should call it.

Bug:  760399 
Change-Id: Ie39d75a73f71f8058dd63bb77c3695f3b88a6f6c
Reviewed-on: https://chromium-review.googlesource.com/642495
Commit-Queue: Shenghua Zhang <shenghuazhang@chromium.org>
Reviewed-by: smut <smut@google.com>
Cr-Commit-Position: refs/heads/master@{#499325}
[modify] https://crrev.com/228735e7a366db4600016c3ce8d023ce1c795820/ios/build/bots/scripts/run.py
[modify] https://crrev.com/228735e7a366db4600016c3ce8d023ce1c795820/ios/build/bots/scripts/test_runner.py

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/build/+/bf8c1f367984440ecdec49948e4490698e59e56b

commit bf8c1f367984440ecdec49948e4490698e59e56b
Author: Shenghua Zhang <shenghuazhang@chromium.org>
Date: Sat Sep 02 00:21:55 2017

[Bling] Support restart device in ios/api.py isolate for swarming_cron

Downstream swarming_cron recipe needs to enable restart device, which
triggered by test_runner. The configs are passed to test_runner from ios
api.py isolate method. Here add the restart_device option in isolate.

Bug:760399
Change-Id: I90e819f90ff1d091b11708d24c499b91e02a2fa5
Reviewed-on: https://chromium-review.googlesource.com/644229
Reviewed-by: smut <smut@google.com>
Commit-Queue: Shenghua Zhang <shenghuazhang@chromium.org>

[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/explain.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/webrtc/ios.expected/no_tests.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/timed_out.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/errors.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/clobber_build.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/icu_patch.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/expired.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/api.py
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/basic.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/no_exit_code.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/gn.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/test_failure.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/infra_failure.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/no_tests.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/parent.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/unified_builder_tester.expected/basic.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/unified_builder_tester.expected/goma_canary.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/fyi.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/unified_builder_tester.expected/goma.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipe_modules/ios/examples/full.expected/clobber_checkout.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/webrtc/ios.expected/basic.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/additional_compile_targets.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/README.recipes.md
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/basic.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/webrtc/ios.expected/trybot.json
[modify] https://crrev.com/bf8c1f367984440ecdec49948e4490698e59e56b/scripts/slave/recipes/ios/try.expected/no_compilation.json

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 2 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/f8a8ce153a3c62161d675772adfb2ab6701d5062

commit f8a8ce153a3c62161d675772adfb2ab6701d5062
Author: Shenghua Zhang <shenghuazhang@google.com>
Date: Sat Sep 02 00:38:20 2017

Seems something is wrong, all devices are currently offline.

swarming-cron is failing with:
https://uberchromegw.corp.google.com/i/internal.bling.fyi/builders/swarming-cron/builds/13612/steps/Uncaught%20Exception/logs/stdio


File "/b/build_internal/scripts/slave/.recipe_deps/build/scripts/slave/recipe_modules/ios/api.py", line 483, in get_step_name
    test['app'], test['device type'], test['os']))
KeyError: 'device type'
Components: Infra>Client>iOS
Last cl removed swarming_cron bot configs specifying device type/os version, while it seems like ios/api.py asking for bot config 'device type' and 'os':
https://cc.corp.google.com/chromium_build/scripts/slave/recipe_modules/ios/api.py?q=recipe_modules/ios/api.py&dr&l=481

Because swarming_cron runs the test on every device/OS combination, I would try to add a 'fake' device type and os on swarming_cron tests config, like:
      "device type": "all type device",
      "os": "all version",

and the test step would be like:
@@@STEP_TEXT@ios_chrome_device_check_egtests (all type device iOS all version)@@@
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/ios_internal.git/+/898fe37c2fa0899f433ac0b540248e5609a95075

commit 898fe37c2fa0899f433ac0b540248e5609a95075
Author: Shenghua Zhang <shenghuazhang@google.com>
Date: Tue Sep 05 19:40:25 2017

Project Member

Comment 7 by bugdroid1@chromium.org, Sep 5 2017

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

commit aea873856e99a9afbca5a3bcd65db13534db7e3c
Author: Shenghua Zhang <shenghuazhang@chromium.org>
Date: Tue Sep 05 22:03:24 2017

[Bling] Fix ios test_runner restart method name

The method name 'restart' is same as a class bool value in the same
scope, which caused wrong callable object error, see
https://chromium-review.googlesource.com/c/chromium/src/+/642495

This Cl changes method name to fix that bug.

Bug:  760399 
Change-Id: I722a72db12c0b7181b27aeec5ce258e0452e0600
Reviewed-on: https://chromium-review.googlesource.com/651226
Reviewed-by: smut <smut@google.com>
Commit-Queue: Shenghua Zhang <shenghuazhang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499761}
[modify] https://crrev.com/aea873856e99a9afbca5a3bcd65db13534db7e3c/ios/build/bots/scripts/test_runner.py

Status: Fixed (was: Started)
The swarming_cron restarting device logic works on swarming devices, here is an example:
https://touch-swarming.appspot.com/task?id=386f096b90ef2c10

Mark this bug as fixed.

Sign in to add a comment