New issue
Advanced search Search tips

Issue 787695 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Nov 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 787983



Sign in to add a comment

Non deterministic generated files

Project Member Reported by tikuta@chromium.org, Nov 22 2017

Issue description

When I build chrome twice and see the files in gen directory, there are some non-deterministic files.

$ diff -r -q gen1 gen2
...
Files gen1/third_party/yasm/gas-token.c and gen2/third_party/yasm/gas-token.c differ
Files gen1/third_party/yasm/lc3bid.c and gen2/third_party/yasm/lc3bid.c differ
Files gen1/third_party/yasm/nasm-token.c and gen2/third_party/yasm/nasm-token.c differ

These files have header include timestamp like "/* Generated by re2c 0.9.1-C on Wed Nov 22 12:48:58 2017"

This cause build cache unusable on goma backend, so better to remove this if this is not necessary.
 

Comment 1 by tikuta@chromium.org, Nov 22 2017

Components: Infra>Goma
Blocking: 495670
Blocking: 787983
Blocking: -495670
Cc: most...@vewd.com
I think I fixed something similar earlier this year:
https://chromium-review.googlesource.com/c/chromium/deps/yasm/patched-yasm/+/1125070/
https://chromium-review.googlesource.com/c/chromium/src/+/1128088

Is this still an issue?
Owner: most...@vewd.com
Status: Verified (was: Untriaged)
There are some files having non-determinism, but those are out of scope for goma.
Thank you for fix!


$ diff -r -q out/gen1/gen out/gen2/gen
Files out/gen1/gen/base/bind_unittest_nc.cc.log and out/gen2/gen/base/bind_unittest_nc.cc.log differ
Files out/gen1/gen/base/callback_list_unittest_nc.cc.log and out/gen2/gen/base/callback_list_unittest_nc.cc.log differ
Files out/gen1/gen/base/callback_unittest_nc.cc.log and out/gen2/gen/base/callback_unittest_nc.cc.log differ
Files out/gen1/gen/base/field_trial_params_unittest_nc.cc.log and out/gen2/gen/base/field_trial_params_unittest_nc.cc.log differ
Files out/gen1/gen/base/histogram_unittest_nc.cc.log and out/gen2/gen/base/histogram_unittest_nc.cc.log differ
Files out/gen1/gen/base/observer_list_unittest_nc.cc.log and out/gen2/gen/base/observer_list_unittest_nc.cc.log differ
Files out/gen1/gen/base/optional_unittest_nc.cc.log and out/gen2/gen/base/optional_unittest_nc.cc.log differ
Files out/gen1/gen/base/ref_counted_unittest_nc.cc.log and out/gen2/gen/base/ref_counted_unittest_nc.cc.log differ
Files out/gen1/gen/base/span_unittest_nc.cc.log and out/gen2/gen/base/span_unittest_nc.cc.log differ
Files out/gen1/gen/base/string16_unittest_nc.cc.log and out/gen2/gen/base/string16_unittest_nc.cc.log differ
Files out/gen1/gen/base/task_traits_extension_unittest_nc.cc.log and out/gen2/gen/base/task_traits_extension_unittest_nc.cc.log differ
Files out/gen1/gen/base/task_traits_unittest_nc.cc.log and out/gen2/gen/base/task_traits_unittest_nc.cc.log differ
Files out/gen1/gen/base/thread_annotations_unittest_nc.cc.log and out/gen2/gen/base/thread_annotations_unittest_nc.cc.log differ
Files out/gen1/gen/base/weak_ptr_unittest_nc.cc.log and out/gen2/gen/base/weak_ptr_unittest_nc.cc.log differ
Files out/gen1/gen/chrome/extensions_resources_stamp.d and out/gen2/gen/chrome/extensions_resources_stamp.d differ
Files out/gen1/gen/chrome/print_preview_resources_stamp.d and out/gen2/gen/chrome/print_preview_resources_stamp.d differ
Files out/gen1/gen/chrome/renderer_resources_stamp.d and out/gen2/gen/chrome/renderer_resources_stamp.d differ
Files out/gen1/gen/chrome/resources_stamp.d and out/gen2/gen/chrome/resources_stamp.d differ
Files out/gen1/gen/chrome/settings_resources_stamp.d and out/gen2/gen/chrome/settings_resources_stamp.d differ
Files out/gen1/gen/chrome/webui_test_resources_stamp.d and out/gen2/gen/chrome/webui_test_resources_stamp.d differ
Files out/gen1/gen/components/components_resources_stamp.d and out/gen2/gen/components/components_resources_stamp.d differ
Files out/gen1/gen/content/resources_stamp.d and out/gen2/gen/content/resources_stamp.d differ
Files out/gen1/gen/content/shell/content_shell_resources_grit_stamp.d and out/gen2/gen/content/shell/content_shell_resources_grit_stamp.d differ
Files out/gen1/gen/content/test/browser_task_traits_unittest_nc.cc.log and out/gen2/gen/content/test/browser_task_traits_unittest_nc.cc.log differ
Files out/gen1/gen/extensions/extensions_renderer_resources_stamp.d and out/gen2/gen/extensions/extensions_renderer_resources_stamp.d differ
Files out/gen1/gen/headless/headless_browsertest_resources_grit_stamp.d and out/gen2/gen/headless/headless_browsertest_resources_grit_stamp.d differ
Files out/gen1/gen/headless/resources_stamp.d and out/gen2/gen/headless/resources_stamp.d differ
Files out/gen1/gen/mojo/public/js/resources_stamp.d and out/gen2/gen/mojo/public/js/resources_stamp.d differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/cgenerator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/cgenerator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/common_codegen.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/common_codegen.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/dispatch_table_helper_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/dispatch_table_helper_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/helper_file_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/helper_file_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/loader_extension_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/loader_extension_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/reg.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-loader/angle/vulkan/reg.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/cgenerator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/cgenerator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/common_codegen.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/common_codegen.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/mock_icd_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/mock_icd_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/reg.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/reg.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/vulkan_tools_helper_file_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-tools/angle/vulkan/vulkan_tools_helper_file_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/cgenerator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/cgenerator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/common_codegen.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/common_codegen.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/dispatch_table_helper_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/dispatch_table_helper_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/helper_file_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/helper_file_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/loader_extension_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/loader_extension_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/object_tracker_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/object_tracker_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/parameter_validation_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/parameter_validation_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/reg.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/reg.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/threading_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/threading_generator.pyc differ
Files out/gen1/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/unique_objects_generator.pyc and out/gen2/gen/third_party/angle/third_party/vulkan-validation-layers/angle/vulkan/unique_objects_generator.pyc differ
Files out/gen1/gen/third_party/blink/public/resources/resources_stamp.d and out/gen2/gen/third_party/blink/public/resources/resources_stamp.d differ
Files out/gen1/gen/third_party/blink/renderer/bindings/core/ComponentInfoCore.pickle and out/gen2/gen/third_party/blink/renderer/bindings/core/ComponentInfoCore.pickle differ
Files out/gen1/gen/third_party/blink/renderer/bindings/core/InterfacesInfoCoreIndividual.pickle and out/gen2/gen/third_party/blink/renderer/bindings/core/InterfacesInfoCoreIndividual.pickle differ
Files out/gen1/gen/third_party/blink/renderer/bindings/modules/InterfacesInfoOverallIndividual.pickle and out/gen2/gen/third_party/blink/renderer/bindings/modules/InterfacesInfoOverallIndividual.pickle differ
Files out/gen1/gen/third_party/blink/renderer/bindings/modules/InterfacesInfoOverall.pickle and out/gen2/gen/third_party/blink/renderer/bindings/modules/InterfacesInfoOverall.pickle differ
Files out/gen1/gen/third_party/blink/renderer/bindings/scripts/lextab.pyc and out/gen2/gen/third_party/blink/renderer/bindings/scripts/lextab.pyc differ

Sign in to add a comment