Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(361)

Issue 2148803003: Componentize zombies to silence ObjC runtime errors in component builds (Closed)

Created:
4 years, 5 months ago by Sidney San Martín
Modified:
4 years, 5 months ago
Reviewers:
Robert Sesek
CC:
chromium-reviews, blundell+watchlist_chromium.org, sdefresne+watchlist_chromium.org, sadrul, droger+watchlist_chromium.org, kalyank
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Componentize zombies to silence ObjC runtime errors in component builds With //components/crash/core/common as a static library, its classes can end up in multiple components and frustrate the ObjC runtime: objc[82840]: Class CrZombie is implemented in both /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/./libsessions.dylib and /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/libchrome_dll.dylib. One of the two will be used. Which one is undefined. objc[82840]: Class CrFatZombie is implemented in both /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/./libsessions.dylib and /b/swarm_slave/work/isolated/runpsh5q4/out/Debug/libchrome_dll.dylib. One of the two will be used. Which one is undefined. Making the implementation its own component stops this. (rsesek@chromium.org did all of the thinking on this — my main contribution was getting tired enough of the warnings to grab him.) BUG=611894 TEST=Build Chromium for Mac with gn and `is_component_build = true`, run it from a terminal, and look for warnings like the above. Committed: https://crrev.com/d295e88072c54f74421d8d9ba3dff50d6d5c9a0d Cr-Commit-Position: refs/heads/master@{#405351}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Move export header into core/common/ #

Total comments: 6

Patch Set 3 : Tighten visibility, explicitly use header, shorten IMPLEMENTATION macro #

Unified diffs Side-by-side diffs Delta from patch set Stats (+61 lines, -5 lines) Patch
M components/crash/core/common/BUILD.gn View 1 2 2 chunks +29 lines, -3 lines 0 comments Download
A components/crash/core/common/crash_export.h View 1 2 1 chunk +29 lines, -0 lines 0 comments Download
M components/crash/core/common/objc_zombie.h View 1 2 chunks +3 lines, -2 lines 0 comments Download

Messages

Total messages: 17 (6 generated)
Sidney San Martín
https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS File components/crash/core/DEPS (right): https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS#newcode5 components/crash/core/DEPS:5: "+components/crash", I'm not sure if this is the right ...
4 years, 5 months ago (2016-07-13 16:45:23 UTC) #4
Robert Sesek
https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS File components/crash/core/DEPS (right): https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS#newcode5 components/crash/core/DEPS:5: "+components/crash", On 2016/07/13 16:45:23, Sidney San Martín wrote: > ...
4 years, 5 months ago (2016-07-13 20:40:58 UTC) #5
Sidney San Martín
https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS File components/crash/core/DEPS (right): https://codereview.chromium.org/2148803003/diff/1/components/crash/core/DEPS#newcode5 components/crash/core/DEPS:5: "+components/crash", On 2016/07/13 20:40:58, Robert Sesek wrote: > On ...
4 years, 5 months ago (2016-07-13 21:11:53 UTC) #6
Robert Sesek
Nice CL description, btw. https://codereview.chromium.org/2148803003/diff/20001/components/crash/core/common/BUILD.gn File components/crash/core/common/BUILD.gn (right): https://codereview.chromium.org/2148803003/diff/20001/components/crash/core/common/BUILD.gn#newcode20 components/crash/core/common/BUILD.gn:20: Maybe set visibility = [ ...
4 years, 5 months ago (2016-07-13 22:15:14 UTC) #7
Sidney San Martín
On 2016/07/13 22:15:14, Robert Sesek wrote: > Nice CL description, btw. Thanks!
4 years, 5 months ago (2016-07-13 22:29:23 UTC) #8
Sidney San Martín
https://codereview.chromium.org/2148803003/diff/20001/components/crash/core/common/BUILD.gn File components/crash/core/common/BUILD.gn (right): https://codereview.chromium.org/2148803003/diff/20001/components/crash/core/common/BUILD.gn#newcode20 components/crash/core/common/BUILD.gn:20: On 2016/07/13 22:15:14, Robert Sesek wrote: > Maybe set ...
4 years, 5 months ago (2016-07-13 22:32:47 UTC) #9
Robert Sesek
LGTM
4 years, 5 months ago (2016-07-13 22:38:51 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2148803003/40001
4 years, 5 months ago (2016-07-13 22:41:57 UTC) #12
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 5 months ago (2016-07-13 23:53:46 UTC) #14
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-13 23:54:05 UTC) #15
commit-bot: I haz the power
4 years, 5 months ago (2016-07-13 23:56:07 UTC) #17
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/d295e88072c54f74421d8d9ba3dff50d6d5c9a0d
Cr-Commit-Position: refs/heads/master@{#405351}

Powered by Google App Engine
This is Rietveld 408576698