New issue
Advanced search Search tips

Issue 710477 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

patch failure in iOS simulator trybot without any output

Project Member Reported by primiano@chromium.org, Apr 11 2017

Issue description

CL/PS: https://codereview.chromium.org/2799023002/#ps100001
iOS Simulator is red in the step "Patch Failure":
https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2Fios-simulator%2F191525%2F%2B%2Frecipes%2Fsteps%2FPatch_failure%2F0%2Fstdout

There is no meaningful output there though, so no idea what is really failing.
The step says:

python -u /var/folders/9x/6c6sv3cj4j53wzpzthbp4ksm0000gm/T/tmpjCLKMK.py
in dir /b/build/slave/ios-simulator/build:
 allow_subannotations: False
 base_name: Patch failure
 cmd: ['python', '-u', '/var/folders/9x/6c6sv3cj4j53wzpzthbp4ksm0000gm/T/tmpjCLKMK.py']
 cwd: /b/build/slave/ios-simulator/build
 infra_step: False
 name: Patch failure
 nest_level: 0
 ok_ret: frozenset([0])
 step_test_data: <lambda>(...)
 trigger_specs: []
...
lot of env vars
...
step returned non-zero exit code: 1
 
Cc: d...@chromium.org hinoka@chromium.org
Components: -Build Infra>Platform>Buildbot
I'm not sure how you got to that log, but if you click on the failed build in Rietveld, for me it takes me to

https://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/builds/191729

where the failing step says "Patch failure check the update step for details" and you can see on the line above the link to the failing patch output.

Is this good enough, or would you like to suggest that the patch failure step should also contain a link to the failing patch output? The latter seems like a good idea to me and I'm not sure why this is two different steps ...

+hinoka, dnj

Comment 2 by d...@chromium.org, Apr 11 2017

The "bot_update" step contains the correct link to the patch failure and, as you noted, it also mentions this in the failing step:

Patch failure Patch failure
Check the bot_update step for details 

The actual patch failure log that is referenced contains a lot of useful information: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Ftryserver.chromium.mac%2Fios-simulator%2F191729%2F%2B%2Frecipes%2Fsteps%2Fbot_update%2F0%2Flogs%2Fpatch_error%2F0

Agreed that actually having the link there would be nice. hinoka@, any idea why we can't do that?

Comment 3 by hinoka@chromium.org, Apr 11 2017

In the event of a patch failure, we did not want the build step text to display "failed bot_update", instead, we want it to say "failed patch failure".  There wasn't a way to do this in recipes without creating a new step.
I actually think "failed bot_update" plus some step text would be fine. Failing that, is there a way to copy the link to the patch failure down to the "patch failure" step?

Comment 5 by hinoka@chromium.org, Apr 11 2017

problem with "failed bot_update" is that a user would see it, and then file a bug against me, and I'd have to point out that they need to rebase their checkout.  This has unfortunately happened many times in the past.

I don't think there is a way to refer to log links from one step in another step.
Hm. I can see the problem about filing bugs against bot_update ...

Aren't the buildbot links just annotations with URLs? I don't really see why we couldn't save the URL and then add it to the next step.

Comment 7 by hinoka@chromium.org, Apr 11 2017

you can't get a buildbot URL because recipes just emit step cursors and step texts.  On the recipe side, there isn't a way to extract that URL (for a good reason too, it might change)

Comment 8 by d...@chromium.org, Apr 11 2017

The log URL is generated by BuildBot / Annotee, which happens outside of the consciousness of the recipe engine. Changing direction of that information would require a reverse formation flow to be built and is probably non-trivial.
Status: Available (was: Unconfirmed)

Comment 10 by d...@chromium.org, Apr 12 2017

Owner: d...@chromium.org
Status: Started (was: Available)
After some thought, I went ahead and took a swing at this: https://chromium-review.googlesource.com/c/475950/
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683

commit 8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683
Author: Dan Jacques <dnj@chromium.org>
Date: Wed Apr 12 19:05:48 2017

bot_update: Show failed patch in "Patch Failure".

Have "bot_update.py" export the failing patch body in its JSON. Have the
recipe actually emit the patch body in the "Patch Failure" step instead
of the "bot_update" step, and remove the "Patch Failure" step's
indirection to the "bot_update" step for patch failure.

This will provide a more straightforward user interface: the red step
that says "Patch Failure" now includes the details of the patch failure!

BUG= chromium:710477 
TEST=expectations

Change-Id: I6ad305f0b972de89e4f0b5eb70edf41980447abd
Reviewed-on: https://chromium-review.googlesource.com/475950
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>

[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/resources/bot_update.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/test_api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683

commit 8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683
Author: Dan Jacques <dnj@chromium.org>
Date: Wed Apr 12 19:05:48 2017

bot_update: Show failed patch in "Patch Failure".

Have "bot_update.py" export the failing patch body in its JSON. Have the
recipe actually emit the patch body in the "Patch Failure" step instead
of the "bot_update" step, and remove the "Patch Failure" step's
indirection to the "bot_update" step for patch failure.

This will provide a more straightforward user interface: the red step
that says "Patch Failure" now includes the details of the patch failure!

BUG= chromium:710477 
TEST=expectations

Change-Id: I6ad305f0b972de89e4f0b5eb70edf41980447abd
Reviewed-on: https://chromium-review.googlesource.com/475950
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>

[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/resources/bot_update.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/test_api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/tools/depot_tools/+/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683

commit 8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683
Author: Dan Jacques <dnj@chromium.org>
Date: Wed Apr 12 19:05:48 2017

bot_update: Show failed patch in "Patch Failure".

Have "bot_update.py" export the failing patch body in its JSON. Have the
recipe actually emit the patch body in the "Patch Failure" step instead
of the "bot_update" step, and remove the "Patch Failure" step's
indirection to the "bot_update" step for patch failure.

This will provide a more straightforward user interface: the red step
that says "Patch Failure" now includes the details of the patch failure!

BUG= chromium:710477 
TEST=expectations

Change-Id: I6ad305f0b972de89e4f0b5eb70edf41980447abd
Reviewed-on: https://chromium-review.googlesource.com/475950
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Ryan Tseng <hinoka@chromium.org>

[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/resources/bot_update.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch.json
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/test_api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/api.py
[modify] https://crrev.com/8dd4edae992e3cd9cacb7ce36cf2fa48ab60d683/recipes/recipe_modules/bot_update/example.expected/tryjob_fail_patch_download.json

Comment 14 by d...@chromium.org, Apr 12 2017

Status: Fixed (was: Started)
New patch failure message looks a lot better:

https://luci-milo.appspot.com/buildbot/tryserver.chromium.win/win_clang/206610

https://screenshot.googleplex.com/TOJ1DjnJGiF
Yup, definitely better. Thanks!
Ahh, my brain completely skipped the "Check the bot_update step for details".
The thing I attached in #0 was the result of clicking "stdout" on "patch error", where I was expecting to see the failed diff.
#14 looks great, thanks a lot!

Comment 17 by d...@chromium.org, Apr 13 2017

Status: Verified (was: Fixed)
I'll consider that Verified :D

Sign in to add a comment