Compile failure on media/media_features.h (race involved?) |
||||||||
Issue descriptionhttps://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Mac/builds/9795 https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20Mac/builds/9795/steps/compile/logs/stdio FAILED: /b/build/slave/cache/cipd/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/media/cast/sender/cast_sender.external_video_encoder.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DGOOGLE_CHROME_BUILD -DCR_CLANG_REVISION=267383-1 -DENABLE_RLZ -DUSE_LIBJPEG_TURBO=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_NOTIFICATIONS -DENABLE_TOPCHROME_MD=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_PROD_WALLET_SERVICE=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_HANGOUT_SERVICES_EXTENSION=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DPROTOBUF_USE_DLLS -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DUSE_LIBPCI=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DOFFICIAL_BUILD -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I../.. -I../../third_party/khronos -I../../gpu -I../.. -I../../skia/config -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/opus/src/include -I../../third_party/libvpx/source/libvpx -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -mmacosx-version-min=10.7 -arch x86_64 -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-undefined-var-template -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/google-chrome-rel-mac/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -Xclang -plugin-arg-find-bad-constructs -Xclang follow-macro-expansion -Xclang -plugin-arg-find-bad-constructs -Xclang check-implicit-copy-ctors -fcolor-diagnostics -fno-strict-aliasing -fno-standalone-debug -c ../../media/cast/sender/external_video_encoder.cc -o obj/media/cast/sender/cast_sender.external_video_encoder.o In file included from ../../media/cast/sender/external_video_encoder.cc:5: In file included from ../../media/cast/sender/external_video_encoder.h:18: In file included from ../../media/video/video_encode_accelerator.h:17: In file included from ../../media/base/video_decoder_config.h:16: ../../media/base/video_codecs.h:11:10: fatal error: 'media/media_features.h' file not found #include "media/media_features.h" ^ 1 error generated. Looks like the include was added in https://codereview.chromium.org/1677133003. servolk@ said he found a missing dependency.
,
Apr 26 2016
We hit a related error on the Win bot: https://build.chromium.org/p/chromium/builders/Win/builds/42767 FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\common\media_gpu_ipc_common.gpu_video_accelerator_util.obj.rsp /c ..\..\media\gpu\ipc\common\gpu_video_accelerator_util.cc /Foobj\media\gpu\ipc\common\media_gpu_ipc_common.gpu_video_accelerator_util.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_common.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_video_decode_accelerator_host.obj.rsp /c ..\..\media\gpu\ipc\client\gpu_video_decode_accelerator_host.cc /Foobj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_video_decode_accelerator_host.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_client.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_video_encode_accelerator_host.obj.rsp /c ..\..\media\gpu\ipc\client\gpu_video_encode_accelerator_host.cc /Foobj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_video_encode_accelerator_host.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_client.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\common\media_gpu_ipc_common.media_messages.obj.rsp /c ..\..\media\gpu\ipc\common\media_messages.cc /Foobj\media\gpu\ipc\common\media_gpu_ipc_common.media_messages.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_common.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\common\media_gpu_ipc_common.media_param_traits.obj.rsp /c ..\..\media\gpu\ipc\common\media_param_traits.cc /Foobj\media\gpu\ipc\common\media_gpu_ipc_common.media_param_traits.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_common.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_jpeg_decode_accelerator_host.obj.rsp /c ..\..\media\gpu\ipc\client\gpu_jpeg_decode_accelerator_host.cc /Foobj\media\gpu\ipc\client\media_gpu_ipc_client.gpu_jpeg_decode_accelerator_host.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_client.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\common\media_gpu_ipc_common.create_video_encoder_params.obj.rsp /c ..\..\media\gpu\ipc\common\create_video_encoder_params.cc /Foobj\media\gpu\ipc\common\media_gpu_ipc_common.create_video_encoder_params.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_common.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\slave\cache\cipd\goma/gomacc "C:\b\depot_tools\win_toolchain\vs_files\95ddda401ec5678f15eeed01d2bee08fcbc5ee97\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\media\gpu\ipc\common\media_gpu_ipc_common.media_message_generator.obj.rsp /c ..\..\media\gpu\ipc\common\media_message_generator.cc /Foobj\media\gpu\ipc\common\media_gpu_ipc_common.media_message_generator.obj /Fdobj\media\gpu\ipc\media_gpu_ipc_common.cc.pdb c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory ninja: build stopped: subcommand failed. servolk@ has a CL for that as well: https://codereview.chromium.org/1919323002/
,
Apr 26 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/094a8272083fe95308dcd9f23ea008cb438df25d commit 094a8272083fe95308dcd9f23ea008cb438df25d Author: servolk <servolk@chromium.org> Date: Tue Apr 26 18:45:13 2016 Added media_features dependency for media gpu targets BUG= 606829 TBR=miu,wolenetz NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true Review URL: https://codereview.chromium.org/1919323002 Cr-Commit-Position: refs/heads/master@{#389822} [modify] https://crrev.com/094a8272083fe95308dcd9f23ea008cb438df25d/media/gpu/ipc/client/BUILD.gn [modify] https://crrev.com/094a8272083fe95308dcd9f23ea008cb438df25d/media/gpu/ipc/media_ipc.gyp
,
Apr 26 2016
Seems ok for now-- thanks for the quick fix! Just to connect the dots, looks like this came up before with https://codereview.chromium.org/1907003002, which was reverted for causing a similar compile error in https://build.chromium.org/p/chromium/builders/Win/builds/42636. (See issue 605700.) c:\b\build\slave\win\build\src\media\base\video_codecs.h(11): fatal error C1083: Cannot open include file: 'media/media_features.h': No such file or directory I'm guessing it ties back to the generated file (media_features.h) and some kind of race during compile, similar to what dskiba@ hit in https://codereview.chromium.org/1839503002/ with base/debug/debugging_flags.h.
,
Apr 26 2016
More details on my case: https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/ykepYWpA5rg I.e. debugging_flags.h is generated only when base target is built, but GYP won't build it as part of building dependent static libraries (because we're not linking static libraries, so why build?). A possible fix is to make base a hard_dependency, so that it's always built.
,
Apr 26 2016
Yeah, we are hitting the same issue here. media_features.h was not generated when some targets were build due to an indirect dependency on 'media_feature' target through the base 'media' target. I wasn't aware of the hard_dependency flag, so for now I've solved it by adding an explicit dependency on 'media_feature' for all affected targets (that happen to include media_feature.h). I guess I could try to set hard_dependency: 1 on the GYP media target and then we can revert some of those changes. Although I wonder what's the status of GYP build - is it close to being deprecated? Or is it still actively maintained? For how long?
,
Apr 26 2016
Sorry, of course I meant setting hard_dependency: 1 for media_feature target (the one that generates the media_features.h header).
,
May 2 2016
Re-opening. The change that modified the media/cast build files was probably not the right way to fix this: The dependency on video_decoder_config.h was indirect (i.e., nothing in media/cast code directly depends on it). It would be more appropriate to fix the DEPS in the build targets for media/video/video_encode_accelerator.h, which has the direct dependency.
,
May 10 2016
This is happening on ChromeOS now - the last 5 builds have failed. https://build.chromium.org/p/chromium.chrome/builders/Google%20Chrome%20ChromeOS Increasing the bug priority to Pri 1.
,
May 10 2016
miu@ could you please clarify what you meant in comment #8? Perhaps I don't understand something, but the DEPS file contains a list of directories (and not GYP/GN targets), so we can't add media_features in there, since it's a GYP/GN target name and there's no corresponding directory. Plus there's already '+media' in media/cast/DEPS. So I don't think that would solve anything. Also the media/video/video_encode_accelerator.h header is media.gyp:media target, that already has an explicit dependency on media_features, and yet we still see those occasional failures. So I think the real problem here is that we really need the media_feature GYP target to be marked with hard_dependency: 1, as I've mentioned in comment #7. I think this will ensure that the header file gets generated before any possible uses.
,
May 10 2016
I think miu meant 'deps' the GYP value, not the DEPS files. You can also ensure there is a path of hard deps instead.
,
May 10 2016
Ok, but if we are talking about the 'deps' GYP value, then there is already a dependency path from the failing target to media_features. For example for the latest failures linked in comment #9 above the build failure happened in gpu_jpeg_decode_accelerator.cc, which is in media/gpu/ipc/media_ipc.gyp:media_gpu_ipc_service target. That target has a dependency on 'media.gyp:media' and 'media.gyp:media' depends on 'media.gyp:media_features' target. When you said 'a path of hard deps' - did you mean that every target in this dependency chain should be marked as 'hard_dependency': 1? Or should it be sufficient to mark just the media.gyp:media_features as hard_dependency? I think this should be sufficient, could you take a look: https://codereview.chromium.org/1969493002/
,
May 10 2016
In GYP hard dependencies aren't transitive. The entire path between the target generating the header and all targets using it must be marked hard. If the dependency is direct, the fact that the generated header target is already marked hard is sufficient.
,
May 10 2016
So you are saying that 'media.gyp:media' target should also be hard_dependency:1? Ok, I'll update my CL in a moment.
,
May 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1652fefd7f5c0d7da557d26a0a107ed2acc25c31 commit 1652fefd7f5c0d7da557d26a0a107ed2acc25c31 Author: servolk <servolk@chromium.org> Date: Wed May 11 20:38:30 2016 Set hard_dependency for media and media_features gyp targets The media_features gyp target generates a header that is included by many other files indirectly through media/base/video_codecs.h, so both the main media target and media_features target must be marked as hard_dependency: 1, to ensure the media_features.h header is generated before being used anywhere. BUG= 606829 Review-Url: https://codereview.chromium.org/1969493002 Cr-Commit-Position: refs/heads/master@{#393049} [modify] https://crrev.com/1652fefd7f5c0d7da557d26a0a107ed2acc25c31/media/media.gyp
,
May 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a50532323e28dc6f912c5655b20f2a7ece389b1c commit a50532323e28dc6f912c5655b20f2a7ece389b1c Author: ananta <ananta@chromium.org> Date: Wed May 11 21:35:11 2016 Revert of Set hard_dependency for media and media_features gyp targets (patchset #2 id:20001 of https://codereview.chromium.org/1969493002/ ) Reason for revert: Appears to cause Windows builds to fail. https://build.chromium.org/p/chromium/builders/Win/builds/43308 Please fix and reland Original issue's description: > Set hard_dependency for media and media_features gyp targets > > The media_features gyp target generates a header that is included by > many other files indirectly through media/base/video_codecs.h, so > both the main media target and media_features target must be marked > as hard_dependency: 1, to ensure the media_features.h header is > generated before being used anywhere. > > BUG= 606829 > > Committed: https://crrev.com/1652fefd7f5c0d7da557d26a0a107ed2acc25c31 > Cr-Commit-Position: refs/heads/master@{#393049} TBR=wolenetz@chromium.org,brettw@chromium.org,dpranke@chromium.org,servolk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 606829 Review-Url: https://codereview.chromium.org/1975483002 Cr-Commit-Position: refs/heads/master@{#393064} [modify] https://crrev.com/a50532323e28dc6f912c5655b20f2a7ece389b1c/media/media.gyp
,
May 12 2016
Issue 608574 has been merged into this issue.
,
May 12 2016
Issue 609244 has been merged into this issue.
,
May 12 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2c872f31329bb434f00b5cba3e61664ec3970ddc commit 2c872f31329bb434f00b5cba3e61664ec3970ddc Author: tapted <tapted@chromium.org> Date: Thu May 12 04:59:31 2016 Set hard_dependency for media and media_features gyp targets The media_features gyp target generates a header that is included by many other files indirectly through media/base/video_codecs.h, so both the main media target and media_features target must be marked as hard_dependency: 1, to ensure the media_features.h header is generated before being used anywhere. patch originally from http://crrev.com/1969493002#ps20001 Added export_dependent_settings += [ media_features ]. +TBR to fix waterfall breakage. BUG= 606829 TBR=servolk@chromium.org,brettw@chromium.org Review-Url: https://codereview.chromium.org/1973843002 Cr-Commit-Position: refs/heads/master@{#393187} [modify] https://crrev.com/2c872f31329bb434f00b5cba3e61664ec3970ddc/media/media.gyp
,
May 16 2016
Poking through some failures on https://build.chromium.org/p/chromium/builders/Win?numbuilds=200 I think the media/media_features.h particular compile flake is fixed with that CL. But there are likely others, very similar: FAILED: obj/chrome/installer/setup/setup_lib.installer_crash_reporting.obj c:\b\build\slave\win\build\src\components\crash\content\app\crashpad.h(15): fatalerror C1083: Cannot open include file: 'third_party/kasko/kasko_features.h': No such file or directory in https://build.chromium.org/p/chromium/builders/Win/builds/43412 https://build.chromium.org/p/chromium/builders/Win/builds/43379 https://build.chromium.org/p/chromium/builders/Win/builds/43370 [5220/33268] CXX obj\ui\app_list\presenter\test\app_list_presenter_test_support.app_list_presenter_impl_test_api.obj c:\b\build\slave\win\build\src\ui\views\view.h(22): fatalerror C1083: Cannot open include file: 'ui/accessibility/ax_enums.h': No such file or directory in https://build.chromium.org/p/chromium/builders/Win/builds/43405 https://build.chromium.org/p/chromium/builders/Win/builds/43403 https://build.chromium.org/p/chromium/builders/Win/builds/43386 https://build.chromium.org/p/chromium/builders/Win/builds/43385 https://build.chromium.org/p/chromium/builders/Win/builds/43375
,
May 16 2016
FYI: https://bugs.chromium.org/p/chromium/issues/detail?id=611319 tracks the "third_party/kasko/kasko_features.h" one.
,
May 16 2016
yup, in fact we had our own crbug race :p Just Found: kasko_features.h -> Issue 611319 ax_enums.h -> Issue 611898 So closing this fixed. |
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by bugdroid1@chromium.org
, Apr 26 2016