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

Issue 856964 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 860646



Sign in to add a comment

jumbo incompatibilities triggered by the stable chunk algorithm

Project Member Reported by brat...@opera.com, Jun 27 2018

Issue description

https://chromium-review.googlesource.com/c/chromium/src/+/1102218 triggered problems with our fyi bots that we couldn't quickly fix so I reverted it. These are the known problems we need to address before landing it:

* DWORD <-> logging problem in Windows chrome/browser/extensions
* Duplicate function CreateSubresourceLoaderFactory in content/renderer, fix about to land
* Lots of symbol clashes in v8. Isolate vs ::v8::internal::Isolate and same for Object

Windows (chunk size 8; goma):
Example: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Jumbo%20Win%20x64/13961
FAILED: obj/chrome/browser/extensions/extensions/extensions_jumbo_14.obj 
In file included from gen/chrome/browser/extensions/extensions_jumbo_14.cc:8:
In file included from .\../../chrome/browser/extensions/api/image_writer_private/write_from_url_operation.cc:8:
In file included from ../..\chrome/browser/extensions/api/image_writer_private/operation_manager.h:15:
In file included from ../..\chrome/browser/extensions/api/image_writer_private/image_writer_private_api.h:8:
In file included from ../..\chrome/browser/extensions/chrome_extension_function.h:10:
In file included from ../..\extensions/browser/extension_function.h:26:
../..\extensions/common/constants.h(248,14):  error: no type named 'DWORD' in namespace 'logging'; did you mean simply 'DWORD'?
extern const logging::LogSeverity kMinimumSeverityToReportError;
             ^~~~~~~~~~~~~~~~~~~~
             DWORD
..\..\..\..\win_toolchain\vs_files\3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c\win_sdk\Include\10.0.17134.0\shared\minwindef.h(156,29):  note: 'DWORD' declared here
typedef unsigned long       DWORD;
                            ^
1 error generated.


Linux chunk size 50:
Example: https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Jumbo%20Linux%20x64/21268

FAILED: obj/v8/test/cctest/cctest_sources/cctest_sources_jumbo_2.o 
In file included from gen/v8/test/cctest/cctest_sources_jumbo_2.cc:46:
./../../v8/test/cctest/test-deoptimization.cc:45:23: error: target of using declaration conflicts with declaration already in scope
using ::v8::internal::Isolate;
                      ^
../../v8/src/profiler/tick-sample.h:15:7: note: target of using declaration
class Isolate;
      ^
../../v8/include/v8-platform.h:18:7: note: conflicting declaration
class Isolate;
      ^
In file included from gen/v8/test/cctest/cctest_sources_jumbo_2.cc:46:
./../../v8/test/cctest/test-deoptimization.cc:47:23: error: target of using declaration conflicts with declaration already in scope
using ::v8::internal::Object;
                      ^
../../v8/src/objects/regexp-match-info.h:17:7: note: target of using declaration
class Object;
      ^
../../v8/include/v8.h:3292:17: note: conflicting declaration
class V8_EXPORT Object : public Value {
                ^
In file included from gen/v8/test/cctest/cctest_sources_jumbo_2.cc:57:
./../../v8/test/cctest/test-func-name-inference.cc:43:23: error: target of using declaration conflicts with declaration already in scope
using ::v8::internal::Isolate;
                      ^
../../v8/src/optimized-compilation-info.h:29:7: note: target of using declaration
class Isolate;
      ^
../../v8/include/v8-platform.h:18:7: note: conflicting declaration
class Isolate;
      ^
In file included from gen/v8/test/cctest/cctest_sources_jumbo_2.cc:57:
./../../v8/test/cctest/test-func-name-inference.cc:45:23: error: target of using declaration conflicts with declaration already in scope
using ::v8::internal::Object;
                      ^
../../v8/src/objects/regexp-match-info.h:17:7: note: target of using declaration
class Object;
....



 

Comment 1 by brat...@opera.com, Jun 27 2018

Cc: osc...@opera.com
Maybe mostynb can take a look at the v8 later today. 

I think oscarj is looking at the one in chrome/browser/extensions but it might take someone with Windows for that one.

Comment 2 by most...@vewd.com, Jun 27 2018

Looking at v8 now.  However, if I checkout the commit before Daniel's revert, then I get a service worker build failure first- is anyone already looking at that?

Comment 3 by most...@vewd.com, Jun 27 2018

Ah, that was fixed by Morten in the meantime: https://chromium-review.googlesource.com/c/chromium/src/+/1116543

Comment 4 by most...@vewd.com, Jun 27 2018

Proposed v8 fix: https://chromium-review.googlesource.com/c/v8/v8/+/1117059

Once the cq dry-run looks good I will request reviewers.
Components: Build
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409

commit 92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409
Author: Mostyn Bramley-Moore <mostynb@vewd.com>
Date: Wed Jun 27 19:47:48 2018

[jumbo] remove some using statements in cctest

This is required for jumbo builds to work before the stable jumbo chunk
algorithm[*] can reland.

[*] https://chromium-review.googlesource.com/c/chromium/src/+/1102218

Bug: chromium:856964,  chromium:782863 
Change-Id: Ibbe0994980eb554acd4e1557e733d07526a90608
Reviewed-on: https://chromium-review.googlesource.com/1117059
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@vewd.com>
Cr-Commit-Position: refs/heads/master@{#54070}
[modify] https://crrev.com/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409/test/cctest/test-deoptimization.cc
[modify] https://crrev.com/92cb6f9da74600e7cd2b8a21c7fbb07ac7fda409/test/cctest/test-func-name-inference.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Jun 29 2018

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

commit 1622b557ca0a80752d61490e784c2138f1518a74
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jun 29 10:34:39 2018

Resolve LogSeverity macro/typedef conflict (browser/extensions)

LogSeverity is a typedef in base/logging.h and a macro
in the Windows header setupapi.h. When building using jumbo
this causes a conflict.

This commit solves the issue by undefining LogSeverity after importing
setupapi.h.

Bug:  850484 ,856964
Change-Id: I3e56c1a06357d8e03dbc98e01e51b18ae05e94dc
Reviewed-on: https://chromium-review.googlesource.com/1116790
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Oscar Johansson <oscarj@opera.com>
Cr-Commit-Position: refs/heads/master@{#571436}
[modify] https://crrev.com/1622b557ca0a80752d61490e784c2138f1518a74/chrome/browser/extensions/api/image_writer_private/removable_storage_provider_win.cc

The v8 fix has been rolled in: https://chromium-review.googlesource.com/1119854
I guess this should block chromium:860646 "Make jumbo compile less when files are added and removed"
Project Member

Comment 10 by bugdroid1@chromium.org, Jul 6

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

commit 50a3c7c7319a436e0acd9cf808823857bc343a39
Author: Oscar Johansson <oscarj@opera.com>
Date: Fri Jul 06 16:59:00 2018

Resolve namespace scope issue for "switches"

When building using Jumbo files gets merged.
This results in a conflict with the namespace switches in:
chrome/browser/extensions/bookmark_app_helper.cc
chrome/browser/extensions/extension_util.cc

This commit solves this by specifying that the global
namespace should be used, by adding the "::" prefix.

Bug:  850484 ,856964, 860646 
Change-Id: I6b7b8343bb66ea5c8a5796f77b85c882085f5d93
Reviewed-on: https://chromium-review.googlesource.com/1127661
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#573000}
[modify] https://crrev.com/50a3c7c7319a436e0acd9cf808823857bc343a39/chrome/browser/extensions/bookmark_app_helper.cc
[modify] https://crrev.com/50a3c7c7319a436e0acd9cf808823857bc343a39/chrome/browser/extensions/extension_util.cc

Blocking: 860646

Sign in to add a comment