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

Issue 741505 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Regression



Sign in to add a comment

v8_linux_chromium_gn_rel failing in analyze step

Project Member Reported by neis@chromium.org, Jul 12 2017

Issue description

https://build.chromium.org/p/tryserver.v8/builders/v8_linux_chromium_gn_rel

Excerpt from logs:

# To recreate the file passed to argv[0] (input_path):
% cat > /tmp/tmpCil6Zv.json <<EOF
{"additional_compile_targets": ["blink_tests", "extensions_browsertests", "gin_unittests", "net_unittests", "pdfium_test", "postmortem-metadata", "unit_tests"], "files": ["v8/src/arm/assembler-arm.cc", "v8/src/arm64/assembler-arm64.cc", "v8/src/assembler.cc", "v8/src/assembler.h", "v8/src/ia32/assembler-ia32.cc", "v8/src/mips/assembler-mips.cc", "v8/src/mips64/assembler-mips64.cc", "v8/src/ppc/assembler-ppc.cc", "v8/src/s390/assembler-s390.cc", "v8/src/x64/assembler-x64.cc"], "test_targets": []}
EOF
%

Traceback (most recent call last):
  File "/b/c/b/v8_linux_chromium_gn_rel/src/tools/mb/mb.py", line 61, in Main
    ret = self.args.func()
  File "/b/c/b/v8_linux_chromium_gn_rel/src/tools/mb/mb.py", line 263, in CmdAnalyze
    return self.RunGNAnalyze(vals)
  File "/b/c/b/v8_linux_chromium_gn_rel/src/tools/mb/mb.py", line 1270, in RunGNAnalyze
    raise MBErr(err)
MBErr: target "pdfium_test" not found in //testing/buildbot/gn_isolate_map.pyl
target "postmortem-metadata" not found in //testing/buildbot/gn_isolate_map.pyl
 
Labels: -Pri-1 Pri-0
This blocks the bot completely and therefore is P0
Labels: -Pri-0 Pri-1
Eh, this is V8's bot... bot a P0
Project Member

Comment 3 by bugdroid1@chromium.org, Jul 12 2017

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

commit 377951a272696effa274c2786a00d18e45c497b6
Author: Michael Achenbach <machenbach@chromium.org>
Date: Wed Jul 12 09:15:33 2017

Revert "Clean up //testing/buildbot/*.json files to remove obsolete builders."

This reverts commit 4053f7ad29076abc4bd3eb267ba8d6fd0b52fa88.

Reason for revert: V8 bot was not obsolete (obsolete name maybe).
Why was it deleted? It is part of the V8 CQ.
https://crbug.com/741505

Original change's description:
> Clean up //testing/buildbot/*.json files to remove obsolete builders.
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: I0b58757a8c56cf1ae9a5ba82fe2d485651f3c52e
> Bug:  662541 
> Reviewed-on: https://chromium-review.googlesource.com/558381
> Commit-Queue: Dirk Pranke <dpranke@chromium.org>
> Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Stephen Martinis <martiniss@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#485851}

TBR=phajdan.jr@chromium.org,dpranke@chromium.org,kbr@chromium.org,martiniss@chromium.org

Change-Id: I056aa71fcae296adc08aa4baf7f2f465d2e1511c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  662541 ,741505
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/566961
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485902}
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/content/test/gpu/generate_buildbot_json.py
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.full.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.gpu.fyi.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.mac.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.memory.fyi.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.perf.fyi.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.perf.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium.win.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium_memory_trybot.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/chromium_win8_trybot.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/gn_isolate_map.pyl
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/manage.py
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.blink.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.chromium.linux.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.chromium.mac.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.chromium.perf.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.chromium.win.json
[add] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.v8.json
[modify] https://crrev.com/377951a272696effa274c2786a00d18e45c497b6/tools/perf/core/perf_data_generator.py

Labels: -Restrict-View-Google -Pri-1 -Infra-Troopers Pri-2 Type-Bug-Regression
Owner: dpranke@chromium.org
Status: Assigned (was: Untriaged)
Should be fixed by above revert. Assign to Dirk for reland. Please include me in review when deleting V8 bot configs.

The word 'gn' in the v8 bot is a bit obsolete. We can file an issue to get this renamed to something up-to-date.
Temporarily skipped the bot:
https://chromium-review.googlesource.com/c/567931/

It uses chromium in lkgr. Therefore it broke with a delay, but now also gets the fix with a delay...
Cc: phajdan.jr@chromium.org
Labels: -Pri-2 OS-All Pri-1
Owner: phajdan.jr@chromium.org
Thanks for the revert, this was my mistake, and I certainly didn't mean to break a CQ bot.

Unfortunately, that bot is configured in an unusual way which lead me to some incorrect conclusions.

Specifically: this bot had entries in //testing/buildbot/tryserver.v8.json, but that file is actually unused, so deleting it was (I think) correct and was fine.

However, manage.py actually was looking at that file and as part of that thought that pdfium_test and postmortem_metadata were being used; when I removed the entries, it complained that the entries in gn_isolate_map.pyl were no longer needed. I assumed that that was correct and deleted the entries in gn_isolate_map.pyl. However, the compile targets *are* listed in the build-side files (client_v8_fyi.py), and so that's what led to analyze failing.

Even more confusingly, when I looked into what was going on to figure out where the compile targets were coming from, the "matching" algorithm said that the v8_linux_chromium_gn_rel maps onto "V8 Linux GN" on client.v8.fyi, which lists a whole bunch of chromium targets in //testing/buildbot/client.v8.fyi.json, but those aren't being used. And, if you look on the build log page, you can see that "chromium.linux.json" is being read instead.

I couldn't figure out why that was happening, until I realized that "chromium.linux.json" was specified in the "testing/test_spec_file" key of the bot_config:

https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/chromium_tests/client_v8_fyi.py?l=58

I'm not sure why this key exists; I thought it was just for recipe training/simulation purposes. It looks like it is only used on the chromium.webrtc and chromium.webrtc.fyi bots, where it is being used redundantly, and on the client.v8.fyi bots where it is likely being used incorrectly.

I think the correct things to do here are to (a) figure out which things we really want to be building on these bots, (b) make sure those targets are listed in the //testing/buildbot/client.v8.fyi.json file, (c) remove the "compile_targets" entries from client_v8_fyi.py, and (d) remove the "test_spec_file" key from bot_config_and_test_db.py.

Paweł, can you confirm my assessment of this bug and let us know if there's some other reason the test_spec_file logic needs to stick around? After that, can you bounce this to Michael to confirm which targets we actually want to build on this bot: the targets listed in client_v8_fyi.py, the targets listed in //testing/buildbot/client.v8.fyi.json, or both, and then, Michael, can you bounce this back to me to do the work (unless you wanted to)?

In the meantime, I'm going to reland my json cleanup patch again, but with the gn_isolate_map.pyl targets still listed.
Cc: phajdan@google.com
Components: -Infra Infra>Client>Chrome
Owner: dpranke@chromium.org
Yeah, the test_spec_file is suspicious at this point. It was introduced in https://codereview.chromium.org/298653008/ , where I think the rationale was to help migrate a legacy builder.

It may be worth to understand rationale for the current usage of it. Unless there's something I'm not aware of, I'd indeed recommend and support its removal.

It's especially worrying to me if the trybots didn't catch an issue with this src-side change. 
Owner: machenb...@chromium.org
It didn't catch anything because the v8 tryservers aren't run as part of chromium src changes. I think this is a weird state because there isn't really a great place for this configuration to live, being half-v8 and and half-chromium.

Michael, can you confirm what you actually want this builder to build (i.e., do you want any of the client.v8.fyi "Linux GN" targets building)?
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 13 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/798076b1af8bee4a924f136abe711463da808196

commit 798076b1af8bee4a924f136abe711463da808196
Author: Michael Achenbach <machenbach@chromium.org>
Date: Thu Jul 13 07:30:26 2017

Revert "[CQ] Temporarily exclude broken bot from CQ"

This reverts commit 0d910860c9d4198b225a41e520ea0bb9fb1537ba.

Reason for revert: Bot is fixed again.

Original change's description:
> [CQ] Temporarily exclude broken bot from CQ
> 
> TBR=neis@chromium.org
> 
> Change-Id: I59903a40c1ca47cce3e5744c51a2abda93e45dad
> Reviewed-on: https://chromium-review.googlesource.com/567931
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#46580}

TBR=machenbach@chromium.org,neis@chromium.org

Bug: chromium:741505
Change-Id: I47068e6364e8b417b75ffd687e7758c41fc0ed0f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/569738
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46616}
[modify] https://crrev.com/798076b1af8bee4a924f136abe711463da808196/infra/config/cq.cfg

client.v8.fyi "Linux GN" and the trybot v8_linux_chromium_gn_rel should ideally do the same thing.

They should be pretty much like a standard chromium compile-only bot with:
1. A fixed set of the 7 targets that are interesting for V8 (to speed up compile time):
https://chromium.googlesource.com/chromium/src/+/377951a272696effa274c2786a00d18e45c497b6/testing/buildbot/tryserver.v8.json#10
2. Syncing Chromium to lkcr to shield V8 from upstream breakage noise.

I remember that we've been there once, but it seems like we diverged from this over time.

Sign in to add a comment