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

Issue 685440 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

Build breakage (Win)

Project Member Reported by manisca...@chromium.org, Jan 26 2017

Issue description

https://build.chromium.org/p/chromium/builders/Win/builds/51253

From log:

[24497/55770] CXX obj/content/app/content_main_runner_child/content_main_runner.obj
FAILED: obj/content/app/content_main_runner_child/content_main_runner.obj 
ninja -t msvc -e environment.x86 -- C:\b\c\cipd\goma/gomacc.exe "C:\b\depot_tools\win_toolchain\vs_files\d3cb0e37bdd120ad0ac4650b674b09e81be45616\VC\bin\amd64_x86/cl.exe" /nologo /showIncludes /FC @obj/content/app/content_main_runner_child/content_main_runner.obj.rsp /c ../../content/app/content_main_runner.cc /Foobj/content/app/content_main_runner_child/content_main_runner.obj /Fd"obj/content/app/content_main_runner_child_cc.pdb"
c:\b\c\b\win_archive\src\content\browser\gpu\gpu_process_host.h(32): fatal error C1083: Cannot open include file: 'services/ui/gpu/interfaces/gpu_host.mojom.h': No such file or directory
[24498/55770] CXX obj/services/ui/demo/lib/mus_demo.obj
[24499/55770] CXX obj/services/ui/surfaces/surfaces/display_compositor.obj


 
Cc: brettw@chromium.org
Nothing obvious in blame set.

Suspecting https://codereview.chromium.org/2653303002/

Reverting here: https://codereview.chromium.org/2657603005/
Cc: dpranke@chromium.org
dpranke, pointed out that in the subsequent build (#51254, did not contain the revert), the file compiled just fine:

https://build.chromium.org/p/chromium/builders/Win/builds/51254

obj/content/app/content_main_runner_child/content_main_runner.obj


Components: Content>Core Build
Labels: -Pri-3 OS-Windows Pri-1
Owner: brettw@chromium.org
Status: Assigned (was: Untriaged)
There's a missing dependency, looks like.

content_main_runner is part of //content/app:content_main_runner_both

gpu_host.mojom.h is generated by //services/ui/gpu/interfaces:interfaces__generator . That file is a dependency of //content/gpu:gpu_sources, which is a dependency of //content/app:content_main_runner_both everywhere *except* in the release win builds (where is_multi_dll_chrome is true).

I don't know if that logic was originally correct and has changed, or if it was always wrong.

Assigning to brettw@, who wrote it.

Comment 4 by sadrul@chromium.org, Jan 27 2017

Cc: sadrul@chromium.org
I think https://codereview.chromium.org/2661563002 is a reasonable fix for this.
Ahh I didn't know there was a bug for this, I was pinged by the sheriff today and looked into this, I found:

commit 72aae8ab52b19f803d4a1ef794bb5783190bf32b
Author: sadrul <sadrul@chromium.org>
Date:   Mon Jan 23 20:52:32 2017 -0800

    gpu: Use mus gpu interface in non-mus chrome.
    [...]

which changed

+++ b/content/browser/gpu/gpu_process_host.h
@@ -28,7 +28,10 @@
[...]
+#include "services/ui/gpu/interfaces/gpu_host.mojom.h"
 #include "services/ui/gpu/interfaces/gpu_main.mojom.h"
+#include "services/ui/gpu/interfaces/gpu_service.mojom.h"
[...]


/content/browser/gpu/gpu_process_host.h is included by 
./content/app/content_main_runner.cc

I pinged sadrul@ who owns that commit.
Cc: suzyh@chromium.org chrishall@chromium.org

Comment 7 by roc...@chromium.org, Jan 27 2017

Cc: -sadrul@chromium.org
Owner: sadrul@chromium.org
content/browser's dependency on //services/ui/gpu/interfaces needs to move from deps to public_deps

Comment 8 by sadrul@chromium.org, Jan 27 2017

Status: Started (was: Assigned)
I considered that, but I don't think that will fix the problem (see comments 3 and 4 above)? From what I can see, content/app:content_main_runner_child does not seem to actually have a dependency on content/browser, so adding gpu/interfaces to content/browser's public_deps probably won't help?
The annoying thing is that every time this happens, it results in a tree closure. It caused three tree closures today only: https://chromium-status.appspot.com/
Three tree closures in one day from this is definitely unusual.

But, yes, missing dependencies are bad and we should fix this ASAP.
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 30 2017

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

commit e0d5a0de9a938f88ae2f9fe35b5186b352ca6021
Author: sadrul <sadrul@chromium.org>
Date: Mon Jan 30 19:09:02 2017

win: Fix flaky compile failures.

content_main_runner.cc has a dependency on gpu_process_host.h, which has
a dependency on a mojom-generated header file. But this dependency is
required only in a non-multi-dll build. So add the proper #ifdef's to
make sure the problematic dependencies are avoided in multi-dll build.

BUG= 685440 

Review-Url: https://codereview.chromium.org/2661563002
Cr-Commit-Position: refs/heads/master@{#447027}

[modify] https://crrev.com/e0d5a0de9a938f88ae2f9fe35b5186b352ca6021/content/app/content_main_runner.cc

Status: Fixed (was: Started)

Sign in to add a comment