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

Issue 856920 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: ----



Sign in to add a comment

Missing dependency on csd_proto by browser

Project Member Reported by sheriff-...@appspot.gserviceaccount.com, Jun 27 2018

Issue description

Filed by sheriff-o-matic@appspot.gserviceaccount.com on behalf of grt@chromium.org

compile failure on chromium/Win x64

Builders failed on: 
- Win x64: 
  https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win%20x64
 

Comment 1 by grt@chromium.org, Jun 27 2018

Cc: jialiul@chromium.org
Components: Services>Safebrowsing
Labels: -Sheriff-Chromium OS-Linux OS-Mac OS-Windows
Owner: grt@chromium.org
Status: Started (was: Available)
I'll send up a CL to add a coarse dependency. Perhaps it could be conditional on whether or not SB is enabled.
This is weird.... There's no change around download or safe browsing in the blamelist. And somehow the next build is fine.
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win%20x64/24533

Comment 3 by grt@chromium.org, Jun 27 2018

On second thought, it looks like //chrome/browser/extensions needs a public dep on the generated proto file since .../api/downloads/downloads_api.h needs the pb.h. Things should probably be rejiggered so that downloads_api.h doesn't need this.

FAILED: obj/chrome/common/extensions/api/api_registration/generated_api_registration.obj 
C:\b\swarming\w\ir\cache\goma\client/gomacc.exe ../../third_party/llvm-build/Release+Asserts/bin/clang-cl.exe /nologo /showIncludes  -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\um -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\shared -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\winrt -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\ucrt -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\include -imsvc..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\VC\Tools\MSVC\14.14.26428\atlmfc\include -DV8_DEPRECATION_WARNINGS -DUSE_AURA=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED "-DCR_CLANG_REVISION=\"335091-1\"" -D_HAS_NODISCARD -D_HAS_EXCEPTIONS=0 -D__STD_C -D_CRT_RAND_S -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_DEPRECATE -D_ATL_NO_OPENGL -D_WINDOWS -DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS -DPSAPI_VERSION=1 -DWIN32 -D_SECURE_ATL -D_USING_V110_SDK71_ -DWINAPI_FAMILY=WINAPI_FAMILY_DESKTOP_APP -DWIN32_LEAN_AND_MEAN -DNOMINMAX -D_UNICODE -DUNICODE -DNTDDI_VERSION=0x0A000002 -D_WIN32_WINNT=0x0A00 -DWINVER=0x0A00 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DENABLE_IPC_FUZZER -DWEBP_EXTERN=extern -DUSE_EGL -DTOOLKIT_VIEWS=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=wchar_t -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSK_SUPPORT_GPU=1 "-DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\"" -DGR_GL_FUNCTION_TYPE=__stdcall -DLEVELDB_PLATFORM_CHROMIUM=1 -DDeleteFile=DeleteFileW -DOS_WIN -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DGTEST_RELATIVE_PATH -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_WIN -DABSL_ALLOCATOR_NOTHROW=1 -DNO_MAIN_THREAD_WRAPPING -I../.. -Igen -Igen -I../../third_party/libwebp/src -I../../third_party/wtl/include -I../../third_party/libyuv/include -I../../third_party/khronos -I../../gpu -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/libwebm/source -I../../v8/include -Igen/v8/include -I../../third_party/webrtc_overrides -I../../third_party/webrtc -Igen -I../../third_party/flatbuffers/src/include -Igen -Igen/third_party/metrics_proto -Igen /utf-8 /X -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -fcomplete-member-pointers /Gy /FS /bigobj /d2FastFail /Zc:sizedDealloc- -fmsc-version=1911 -m64 /Brepro /W4 -Wimplicit-fallthrough -Wthread-safety /WX /wd4091 /wd4127 /wd4251 /wd4275 /wd4312 /wd4324 /wd4351 /wd4355 /wd4503 /wd4589 /wd4611 /wd4100 /wd4121 /wd4244 /wd4505 /wd4510 /wd4512 /wd4610 /wd4838 /wd4995 /wd4996 /wd4456 /wd4457 /wd4458 /wd4459 /wd4200 /wd4201 /wd4204 /wd4221 /wd4018 /wd4245 /wd4267 /wd4305 /wd4389 /wd4702 /wd4701 /wd4703 /wd4661 /wd4706 /wd4715 -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-address-of-packed-member -Wno-nonportable-include-path -Wno-user-defined-warnings -Wno-unused-lambda-capture -Wno-null-pointer-arithmetic -Wno-enum-compare-switch -Wno-ignored-pragma-optimize /O1 /Ob2 /Oy- /Zc:inline /Gw /Oi /MT -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wno-inconsistent-missing-override /wd4267 -imsvc ../../third_party/abseil-cpp -Wno-exit-time-destructors /TP /wd4577 /GR- /c gen/chrome/browser/extensions/api/generated_api_registration.cc /Foobj/chrome/common/extensions/api/api_registration/generated_api_registration.obj /Fd"obj/chrome/common/extensions/api/api_registration_cc.pdb"
In file included from gen/chrome/browser/extensions/api/generated_api_registration.cc:45:
In file included from ../..\chrome/browser/extensions/api/downloads/downloads_api.h:16:
../..\chrome/browser/download/download_danger_prompt.h(9,10):  fatal error: 'components/safe_browsing/proto/csd.pb.h' file not found
#include "components/safe_browsing/proto/csd.pb.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Comment 4 by grt@chromium.org, Jun 27 2018

It's non-determinism in the order in which targets are built. If some other target happens to result in csd_proto being built first, then all is well. I think https://chromium-review.googlesource.com/c/chromium/src/+/1116539 will remove the non-determinism, but it might be better to break the dependency from the extensions API to csd_proto by moving things around a bit.
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 27 2018

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

commit e40723ac2ee2ac0e230a2ecd58327d591db9dfee
Author: Greg Thompson <grt@chromium.org>
Date: Wed Jun 27 08:04:46 2018

Add dependency on safe_browsing:csd_proto to c/b/extensions.

c/b/extensions/api/downloads/downloads_api.h indirectly includes the
generated csd.pb.h file, so it needs an explicit dependency on the
target that produces it.

BUG= 856920 
TBR=jialiul@chromium.org

Change-Id: I8a1821b05b92c71fa89bb706d6e9b21abf93bc93
Reviewed-on: https://chromium-review.googlesource.com/1116539
Commit-Queue: Greg Thompson <grt@chromium.org>
Reviewed-by: Jialiu Lin <jialiul@chromium.org>
Reviewed-by: Greg Thompson <grt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#570692}
[modify] https://crrev.com/e40723ac2ee2ac0e230a2ecd58327d591db9dfee/chrome/browser/extensions/BUILD.gn

Comment 6 by grt@chromium.org, Jun 27 2018

Status: Fixed (was: Started)
I think builds will be deterministic with the above change. Ultimately, it might be good to break the dependency. downloads_api.h only needs enum DownloadDangerPrompt::Action -- it doesn't need the stuff in download_danger_prompt.h that requires csd_proto.

Sign in to add a comment