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

Issue 668581 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

linux_chromium_chromeos_rel_ng: lots of "dirty after compile step" -- missing dependencies on generated headers?

Project Member Reported by tapted@chromium.org, Nov 25 2016

Issue description

I've seen this on multiple tryjob failures; different CLs. Poked around.

See also Issue 655123 "The chromium build is flaky around code generators (gn misses checking generated files?)"

Some of these are probably related, but the symptoms here are different.


Example:

r434418
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/322009/steps/compile%20%28with%20patch%29/logs/stdio

Fails with

Failing build because ninja reported work to do.
This means that after completing a compile, another was run and
it resulted in still having work to do (that is, a no-op build
wasn't a no-op). Consult the first "ninja explain:" line for a
likely culprit.

/b/rr/tmpiLf9sE/rw/checkout/scripts/slave/.recipe_deps/depot_tools/ninja -w dupbuild=err /*snip*/ -d explain -n
ninja: Entering directory `/b/c/b/linux_chromeos/src/out/Release'
ninja explain: stored deps info out of date for 'obj/third_party/WebKit/Source/core/html/html_2/PluginDocument.o' (1480037060 vs 1480037082)
ninja explain: obj/third_party/WebKit/Source/core/html/html_2/PluginDocument.o is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: components_unittests is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: ipc_fuzzer is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: libipc_message_dump.so is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: ipc_fuzzer_replay is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: ipc_message_list is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: ipc_message_util is dirty
ninja explain: obj/tools/ipc_fuzzer/ipc_fuzzer_all.stamp is dirty
ninja explain: obj/third_party/WebKit/Source/core/html/libhtml_2.a is dirty
ninja explain: chrome is dirty
ninja explain: obj/chrome/chrome.stamp is dirty
..
ninja explain: blimp_engine_app is dirty
ninja explain: obj/blimp/engine/engine.stamp is dirty
ninja explain: obj/blimp/engine/engine.stamp is dirty
ninja explain: obj/blimp/engine/generate_manifest.inputdeps.stamp is dirty
ninja explain: gen/engine-manifest.txt is dirty
ninja explain: gen/engine-manifest.txt is dirty
..
[1/62] CXX obj/third_party/WebKit/Source/core/html/html_2/PluginDocument.o
[2/62] AR obj/third_party/WebKit/Source/core/html/libhtml_2.a
[3/62] STAMP obj/third_party/WebKit/Source/core/html/html.stamp

Looking back through https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng?numbuilds=200

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321816/steps/compile%20%28with%20patch%29/logs/stdio has
ninja explain: stored deps info out of date for 'obj/components/sync/protocol/protocol/sync.pb.o' (1480008024 vs 1480008037)
r434352

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321820/steps/compile%20%28with%20patch%29/logs/stdio has
ninja explain: stored deps info out of date for 'obj/chrome/browser/ui/ui/app_list_view_delegate.o' (1480008852 vs 1480008858)
ninja explain: test_data/chrome/test/data/webui/async_gen.js is dirty
ninja explain: gen/chrome/test/data/webui/async_gen-gen.cc is dirty
[5/188] STAMP obj/chrome/test/browser_tests_js_webui_action.inputdeps.stamp
r434353

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321837/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/v8/v8_base/code-assembler.o' (1480009244 vs 1480009253)
[1/994] CXX obj/v8/v8_base/code-assembler.o
[2/994] STAMP obj/v8/v8_base.stamp
[3/994] LINK ./mksnapshot
[4/994] STAMP obj/v8/run_mksnapshot.inputdeps.stamp

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321840/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/third_party/WebKit/Source/core/html/html_4/MediaControlsMediaEventListener.o' (1480009706 vs 1480009721)
ninja explain: obj/third_party/WebKit/Source/core/html/html_4/MediaControlsMediaEventListener.o is dirty
[1/62] CXX obj/third_party/WebKit/Source/core/html/html_4/MediaControlsMediaEventListener.o
[2/62] AR obj/third_party/WebKit/Source/core/html/libhtml_4.a
[3/62] STAMP obj/third_party/WebKit/Source/core/html/html.stamp

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321841/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/v8/v8_base/builtins-handler.o' (1480009658 vs 1480009665)
ninja explain: obj/v8/run_mksnapshot.stamp is dirty
[1/994] CXX obj/v8/v8_base/builtins-handler.o
[2/994] STAMP obj/v8/v8_base.stamp
[3/994] LINK ./mksnapshot

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321850/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/content/browser/browser/storage_partition_impl.o' (1480010651 vs 1480010669)
[1/58] CXX obj/chrome/browser/test_support/notification_test_util.o
[2/58] CXX obj/content/browser/browser/storage_partition_impl.o
[3/58] CXX obj/components/sessions/shared/tab_restore_service.o
[4/58] CXX obj/components/subresource_filter/content/browser/browser/content_subresource_filter_driver_factory.o
[5/58] STAMP obj/content/browser/browser.stamp

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321853/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/v8/v8_base/builtins.o' (1480010617 vs 1480010628)
[1/1096] CXX obj/v8/v8_base/builtins.o
[2/1096] STAMP obj/v8/v8_base.stamp
[3/1096] LINK ./mksnapshot
[4/1096] STAMP obj/v8/run_mksnapshot.inputdeps.stamp

https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321862/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/ash/ash/date_view.o' (1480011726 vs 1480011732)
[1/41] CXX obj/ash/ash/date_view.o
[2/41] AR obj/ash/libash.a
[3/41] LINK ./ash_shell_with_content
[4/41] LINK ./ash_unittests
^^^
Could this be ax_gen? -- ash/BUILD.gn doesn't depend on it, but date_view.cc #includes it transitively. But BUILD.gn *does* depend on "//ui/accessibility", which has ax_gen in public_deps.



https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/321868/steps/compile%20%28with%20patch%29/logs/stdio
ninja explain: stored deps info out of date for 'obj/extensions/renderer/renderer/static_v8_external_one_byte_string_resource.o' (1480012238 vs 1480012239)
[1/21] CXX obj/extensions/renderer/renderer/static_v8_external_one_byte_string_resource.o
[2/21] STAMP obj/extensions/renderer/renderer.stamp
[3/21] LINK ./chrome

ugh. i'm out of energy.

I think we need to make more use of public_configs to propagate "hard" dependencies
 

Comment 1 by tapted@chromium.org, Nov 25 2016

> I think we need to make more use of public_configs to propagate "hard" dependencies

except you can't have 'deps' in a public_configs :/

maybe gn_check needs to
 - check generated headers (see Issue 655123)
 - check for generated headers in anything transitively included

Comment 2 by yosin@chromium.org, Nov 28 2016

Components: -Blink>HTML -Blink>JavaScript Blink>Infra
It seems builder trouble rather than source codes.
Status: WontFix (was: Untriaged)
I poked around https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng?numbuilds=200 - the compile errors all seem legit, so closing this bug.

Sign in to add a comment