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

Issue 648532 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug

Blocking:
issue 491098



Sign in to add a comment

Analyze doesn't work with "all" target and changed V8 files

Project Member Reported by machenb...@chromium.org, Sep 20 2016

Issue description

The android_clang_dbg_recipe trybot targets "all". Changes in V8 should trigger a recompile, but don't, e.g.:

https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/130903/steps/analyze/logs/stdio

Outputs:
{
  "compile_targets": [], 
  "status": "Found dependency (all)", 
  "test_targets": []
}

It works correctly with the same set of changed V8 files and the "All" target (tested locally) and also with "all" and other files than V8, e.g.:
https://build.chromium.org/p/tryserver.chromium.android/builders/android_clang_dbg_recipe/builds/131627/steps/analyze/logs/stdio

  "files": [
    "content/browser/renderer_host/renderer_frame_manager.cc", 
    "content/browser/renderer_host/renderer_frame_manager.h"
  ],

leads to:

{
  "compile_targets": [
    "android_webview/test:_android_webview_unittests__library",
    ...

  ], 
  "status": "Found dependency", 
  "test_targets": []
}


What's the difference between "Found dependency (all)" and "Found dependency"? The target "all" is also not in the list here https://cs.chromium.org/chromium/src/testing/buildbot/gn_isolate_map.pyl and doesn't get mapped.

How can I find out which dependencies are under "all", since this is not a real gn label? I find e.g. d8 under All:

buildtools/linux64/gn desc //out/Debug //:All --all | grep //v8:d8
//v8:d8

and also under gn_all.
 
Cc: brettw@chromium.org thakis@chromium.org
Labels: OS-All
Owner: dpranke@chromium.org
Status: Assigned (was: Untriaged)
"Found dependency (all)" means that GN couldn't actually figure out what was affected and bailed out early. At the moment, this happens when a .gn or .gni file is changed. 

It is supposed to return the "additional_compile_targets" and "test_targets" that it got as input in that case. That it didn't is a bug.
 Issue 648639  has been merged into this issue.
Status: Started (was: Assigned)
Labels: Build-Tools-GN
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 20 2016

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

commit 385a310b530199122f9781ead9410afe09b9c8d2
Author: dpranke <dpranke@chromium.org>
Date: Tue Sep 20 22:04:08 2016

Fix an issue in `gn analyze` when building all.

If you ran `gn analyze` on a list of files that changed a build file,
the list of compile targets and output targets should've been returned
unchanged, but if the additional_compile_targets input included "all", the
returned list was left empty.

R=brettw@chromium.org
BUG= 648532 

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

[modify] https://crrev.com/385a310b530199122f9781ead9410afe09b9c8d2/tools/gn/analyzer.cc
[modify] https://crrev.com/385a310b530199122f9781ead9410afe09b9c8d2/tools/gn/analyzer_unittest.cc
[modify] https://crrev.com/385a310b530199122f9781ead9410afe09b9c8d2/tools/mb/mb.py

Status: Fixed (was: Started)
This should be fixed in r419905 w/ the GN roll:

https://codereview.chromium.org/2354123002/

Sign in to add a comment