Build flakiness 'net/net_features.h' file not found |
||||
Issue descriptionThis failure was seen once on mac builder: https://build.chromium.org/p/chromium/builders/Mac, here a log of failed build https://build.chromium.org/p/chromium/builders/Mac/builds/13187/steps/compile/logs/stdio. Here error text: In file included from ../../components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.cc:5: In file included from ../../components/data_reduction_proxy/core/browser/data_reduction_proxy_settings_test_utils.h:16: In file included from ../../net/url_request/url_request_test_util.h:34: In file included from ../../net/http/http_cache.h:34: In file included from ../../net/http/http_network_session.h:24: ../../net/quic/quic_stream_factory.h:29:10: fatal error: 'net/net_features.h' file not found #include "net/net_features.h" The problem is that components/data_reduction_proxy/core/browser doesn't depend on net_features.h, so sometimes net_features.h is not generated on compilation of data_reduction_proxy_settings_test_utils.cc. The line #include "net/net_features.h" was added on https://codereview.chromium.org/1744693002.
,
Mar 15 2016
Ben: Can we make DRP depend on net_features?
,
Mar 15 2016
net_features is a dependency of net, so data_reduction_proxy_test_support should indirectly depend on net_features as a result. I am not sure what we should do here.
,
Mar 17 2016
https://codereview.chromium.org/1811893002/
,
Mar 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/135b2ed3347a44635ae459396b4f7ab5c49849d9 commit 135b2ed3347a44635ae459396b4f7ab5c49849d9 Author: blundell <blundell@chromium.org> Date: Fri Mar 18 08:15:26 2016 Fix up dependency chain around net_features.h //net exposes the generated net_features.h header as part of its public API (e.g., via http_network_session.h). That means that the GYP build of //net needs to export dependent settings on net_features. Similarly, //sync exposes //net headers that transitively include net_features.h via *its* public API (e.g., via http_bridge.h). This means that //sync needs to export dependent settings on //net. The GN build already gets this mostly right, so fewer fixes are needed there. BUG= 594970 Review URL: https://codereview.chromium.org/1811893002 Cr-Commit-Position: refs/heads/master@{#381910} [modify] https://crrev.com/135b2ed3347a44635ae459396b4f7ab5c49849d9/net/net_common.gypi [modify] https://crrev.com/135b2ed3347a44635ae459396b4f7ab5c49849d9/sync/BUILD.gn [modify] https://crrev.com/135b2ed3347a44635ae459396b4f7ab5c49849d9/sync/sync.gyp
,
Mar 18 2016
Going to mark this as fixed. It's possible that there are other places in the dependency tree where dependees on net should be exporting the dependency because they transitively export net_features.h. If those are found, the solution is similar to the change in sync.gyp & sync's BUILD.gn file in the CL in c#5 here. |
||||
►
Sign in to add a comment |
||||
Comment 1 by dvadym@chromium.org
, Mar 15 2016Status: Assigned (was: Untriaged)