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

Issue 905442 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 15
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug

Blocking:
issue 901830



Sign in to add a comment

Making GPU.FYI bots use ToT Dawn is causing ANGLE CQ and GPU.FYI bots to fail generate_build_files

Project Member Reported by jmad...@chromium.org, Nov 14

Issue description

Blocking: 901830
Owner: tandrii@chromium.org
Status: Assigned (was: Available)
Here's the log excerpt. Not sure why this would be failing with ToT Dawn rather than the DEPS'ed in version.

/b/swarming/w/ir/cache/builder/src/buildtools/linux64/gn gen //out/Release --check --runtime-deps-list-file=/b/swarming/w/ir/cache/builder/src/out/Release/runtime_deps
  -> returned 1
ERROR at //third_party/dawn/src/dawn_native/Device.h:22:11: Include not allowed.
#include "dawn_native/DawnNative.h"
          ^-----------------------
It is not in any dependency of
  //third_party/dawn:libdawn_native_sources
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/dawn_native/DawnNative.cpp:15:11: Include not allowed.
#include "dawn_native/DawnNative.h"
          ^-----------------------
It is not in any dependency of
  //third_party/dawn:libdawn_native_sources
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/dawn_native/SwapChain.h:22:11: Can't include this header from here.
#include "dawn/dawn_wsi.h"
          ^--------------
The target:
  //third_party/dawn:libdawn_native_sources
is including a file from the target:
  //third_party/dawn:dawn_headers

It's usually best to depend directly on the destination target.
In some cases, the destination target is considered a subcomponent
of an intermediate target. In this case, the intermediate target
should depend publicly on the destination to forward the ability
to include headers.

Dependency chain (there may also be others):
  //third_party/dawn:libdawn_native_sources -->
  //third_party/dawn:dawn_common --[private]-->
  //third_party/dawn:dawn_headers

___________________
ERROR at //third_party/dawn/src/dawn_native/null/NullBackend.cpp:18:11: Include not allowed.
#include "dawn_native/NullBackend.h"
          ^------------------------
It is not in any dependency of
  //third_party/dawn:libdawn_native_sources
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/dawn_native/opengl/DeviceGL.cpp:19:11: Include not allowed.
#include "dawn_native/OpenGLBackend.h"
          ^--------------------------
It is not in any dependency of
  //third_party/dawn:libdawn_native_sources
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/dawn_native/vulkan/DeviceVk.cpp:20:11: Include not allowed.
#include "dawn_native/VulkanBackend.h"
          ^--------------------------
It is not in any dependency of
  //third_party/dawn:libdawn_native_sources
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/dawn_native/vulkan/NativeSwapChainImplVk.h:20:11: Can't include this header from here.
#include "dawn/dawn_wsi.h"
          ^--------------
The target:
  //third_party/dawn:libdawn_native_sources
is including a file from the target:
  //third_party/dawn:dawn_headers

It's usually best to depend directly on the destination target.
In some cases, the destination target is considered a subcomponent
of an intermediate target. In this case, the intermediate target
should depend publicly on the destination to forward the ability
to include headers.

Dependency chain (there may also be others):
  //third_party/dawn:libdawn_native_sources -->
  //third_party/dawn:dawn_common --[private]-->
  //third_party/dawn:dawn_headers

___________________
ERROR at //third_party/dawn/src/fuzzers/DawnWireServerAndFrontendFuzzer.cpp:16:11: Include not allowed.
#include "dawn_native/DawnNative.h"
          ^-----------------------
It is not in any dependency of
  //third_party/dawn/src/fuzzers:dawn_wire_server_and_frontend_fuzzer
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
___________________
ERROR at //third_party/dawn/src/fuzzers/DawnWireServerAndFrontendFuzzer.cpp:17:11: Include not allowed.
#include "dawn_native/NullBackend.h"
          ^------------------------
It is not in any dependency of
  //third_party/dawn/src/fuzzers:dawn_wire_server_and_frontend_fuzzer
The include file is in the target(s):
  //third_party/dawn:libdawn_native_headers
which should somehow be reachable.
GN gen failed: 1

# To recreate the file passed to --swarming-targets-file:
% cat > /b/swarming/w/ir/tmp/t/tmp9GERdX <<EOF
angle_end2end_tests
angle_perftests
angle_unittests
angle_white_box_tests

Ken: a bad CL made it into Dawn and is failing the roll. So main Chromium isn't affected. But clients that use ToT Dawn are now failing.
CL was reverted.

https://chromium-review.googlesource.com/c/chromium/tools/build/+/1336290

Will need to percolate through the infra rollers I think.
OK. Thanks Jamie for the explanation.

Sorry for the breakage and thanks for the revert. This problem would have been caught if we had the Dawn GPU bots so once we have them running on all platforms, we should be able to build again on ToT.
Status: Fixed (was: Assigned)
Sounds good. Going to close this out as Andrii's revert fixed the breakage.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 15

The following revision refers to this bug:
  https://dawn.googlesource.com/dawn/+/69b44ee6a1269afb5c7622189de236af0c4ec2a7

commit 69b44ee6a1269afb5c7622189de236af0c4ec2a7
Author: Corentin Wallez <cwallez@chromium.org>
Date: Thu Nov 15 12:38:12 2018

BUILD.gn: Fix libdawn_native missing dep on its own headers

BUG=chromium:904736
BUG= chromium:905442 
TBR=kainino@chromium.org

Change-Id: Ie08b9c82f189e12ba42411e492190731daad5aca
Reviewed-on: https://dawn-review.googlesource.com/c/2441
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>

[modify] https://crrev.com/69b44ee6a1269afb5c7622189de236af0c4ec2a7/BUILD.gn

Sign in to add a comment