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

Issue 594970 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Build flakiness 'net/net_features.h' file not found

Project Member Reported by dvadym@chromium.org, Mar 15 2016

Issue description

This 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.
 

Comment 1 by dvadym@chromium.org, Mar 15 2016

Owner: xunji...@chromium.org
Status: Assigned (was: Untriaged)
xunjieli@ Could you please a look at this build failure? It seems it caused by your recent patch https://codereview.chromium.org/1744693002.
Cc: bengr@chromium.org
Components: Internals>Network>DataProxy
Ben: Can we make DRP depend on net_features?
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.
Cc: sdefresne@chromium.org carusom@chromium.org xunji...@chromium.org
Owner: blundell@chromium.org
Status: Started (was: Assigned)
https://codereview.chromium.org/1811893002/
Project Member

Comment 5 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)
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