Chromium Code Reviews

Issue 2718983002: Reland of Do not produce dSYM file for the iOS Frameworks with bitcode (Closed)

Created:
3 years, 9 months ago by kthelgason
Modified:
3 years, 9 months ago
Reviewers:
kjellander_webrtc, vladimirtechman, tommi
CC:
webrtc-reviews_webrtc.org
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Reland of Do not produce dSYM file for the iOS Frameworks with bitcode (patchset #1 id:1 of https://codereview.webrtc.org/2719773002/ ) Reason for revert: Fixing issues with the framework builder. Original issue's description: > Revert of Do not produce dSYM file for the iOS Frameworks with bitcode (patchset #2 id:20001 of https://codereview.webrtc.org/2705163007/ ) > > Reason for revert: > Looks like this caused the iOS API Framework Builder to fail. > > https://build.chromium.org/p/client.webrtc/builders/iOS%20API%20Framework%20Builder/builds/3487/steps/zip%20archive/logs/stdio > > Zipping /b/rr/tmpkIyP1e/w/webrtc_ios_api_framework.zip... > Traceback (most recent call last): > File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 144, in <module> > sys.exit(main()) > File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 130, in main > exit_code = zip_with_subprocess(root, output, entries) > File "/b/rr/tmpkIyP1e/rw/checkout/scripts/slave/recipe_modules/zip/resources/zip.py", line 43, in zip_with_subprocess > assert os.path.isdir(path), path > AssertionError: /b/c/b/iOS_API_Framework_Builder/src/out_ios_libs/WebRTC.dSYM/ > step returned non-zero exit code: 1 > @@@STEP_FAILURE@@@ > > Original issue's description: > > Do not produce dSYM file for the iOS Frameworks with bitcode > > > > Though dSYM files can be generated when building applications or libraries > > with bitcode. They cannot be used to symbolicate crash reports from > > applications. Instead, developers need to grab the real dSYM files, which > > are generated for each specific device type after uploading an iOS / tvOS > > application to App Store (or to a device using Xcode). Apple clearly warns > > about it in its documentation: > > > > https://developer.apple.com/library/content/technotes/tn2151/_index.html#//apple_ref/doc/uid/DTS40008184-CH1-SYMBOLICATION-BITCODE > > > > With that in mind, I believe that it would be better to not confuse > > developers by giving them dSYM files that are not very helpful with > > the bitcode-enabled framework. Thus, proposing the following modification > > to the building script, to generate dSYM by default only without > > the bitcode option. However, if some developers still want to get > > the dSYM files as a build-process artifact, when enabling bitcode, > > they can explicitly add --extra-gn-args enable_dsyms=true to the script. > > > > Let me know if it lgty. > > > > NOTRY=True > > BUG=None > > > > Review-Url: https://codereview.webrtc.org/2705163007 > > Cr-Commit-Position: refs/heads/master@{#16836} > > Committed: https://chromium.googlesource.com/external/webrtc/+/d74517c52a6cd4172b1f3fdc4e624b6145ff5a0f > > TBR=kjellander@webrtc.org,kthelgason@webrtc.org,VladimirTechMan@gmail.com > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=None > NOTRY=True > > Review-Url: https://codereview.webrtc.org/2719773002 > Cr-Commit-Position: refs/heads/master@{#16844} > Committed: https://chromium.googlesource.com/external/webrtc/+/da00077cfac335503b3335d5eac110f2f5bff408 TBR=kjellander@webrtc.org,vladimirtechman@gmail.com,tommi@webrtc.org NOTRY=true BUG=None Review-Url: https://codereview.webrtc.org/2718983002 Cr-Commit-Position: refs/heads/master@{#16924} Committed: https://chromium.googlesource.com/external/webrtc/+/28922448012e39f33124bb112e54faecc454dea6

Patch Set 1 #

Unified diffs Side-by-side diffs Stats (+22 lines, -19 lines)
M tools-webrtc/ios/build_ios_libs.py View 2 chunks +22 lines, -19 lines 0 comments

Messages

Total messages: 15 (4 generated)
kthelgason
Created Reland of Do not produce dSYM file for the iOS Frameworks with bitcode
3 years, 9 months ago (2017-02-27 07:30:14 UTC) #1
kthelgason
kjellander@ can you take a look at the build failure and advise Vladimir of what ...
3 years, 9 months ago (2017-02-27 07:32:51 UTC) #2
tommi
rs lgtm
3 years, 9 months ago (2017-02-27 08:49:20 UTC) #3
kjellander_webrtc
Can you have PS#1 be the pristine revert of the revert and PS#2 contain the ...
3 years, 9 months ago (2017-02-27 23:48:52 UTC) #4
VladimirTechMan
On 2017/02/27 23:48:52, kjellander_webrtc wrote: > Can you have PS#1 be the pristine revert of ...
3 years, 9 months ago (2017-02-28 01:53:25 UTC) #5
kthelgason
On 2017/02/28 01:53:25, VladimirTechMan wrote: > On 2017/02/27 23:48:52, kjellander_webrtc wrote: > > Can you ...
3 years, 9 months ago (2017-02-28 09:34:09 UTC) #6
kjellander_webrtc
On 2017/02/28 09:34:09, kthelgason wrote: > On 2017/02/28 01:53:25, VladimirTechMan wrote: > > On 2017/02/27 ...
3 years, 9 months ago (2017-02-28 22:59:05 UTC) #7
VladimirTechMan
On 2017/02/28 22:59:05, kjellander_webrtc wrote: ... > > Right, so this was a problem with ...
3 years, 9 months ago (2017-02-28 23:22:00 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2718983002/1
3 years, 9 months ago (2017-02-28 23:30:37 UTC) #11
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://chromium.googlesource.com/external/webrtc/+/28922448012e39f33124bb112e54faecc454dea6
3 years, 9 months ago (2017-02-28 23:33:31 UTC) #14
kjellander_webrtc
3 years, 9 months ago (2017-02-28 23:50:15 UTC) #15
Message was sent while issue was closed.
On 2017/02/28 23:22:00, VladimirTechMan wrote:
> On 2017/02/28 22:59:05, kjellander_webrtc wrote:
> ...
> > 
> > Right, so this was a problem with the buildbot logic expecting that
directory
> to
> > be present. We would have caught this upfront if we would have just run the
> > ios_api_framework bot, which we should always do for changes like this.
> 
> I totally agree, Henrik. Mea culpa.
> 
> > I'm removing the packaging of the dir in
> > https://chromium-review.googlesource.com/c/448024/ so I'll fire a tryjob
here
> > once that's landed.
> 
> I am wondering why would not we make that part of the building bot a little
more
> universal and less fragile, on any possible future changes related to the dSYM
> directory? Something like:
> 
> dsym_output_dir = output_dir.join('WebRTC.dSYM')
> if os.path.isdir(dsym_output_dir):
>   pkg.add_directory(dsym_output_dir)
> 
> (well, depending on what API to check the presence of file / directory is
> available inside that script).

You're right. I think it would be even better if we just zipped everything in a
single directory, so if we could change the script to that instead we wouldn't
need to have this fragile add-each-item-individually logic on the buildbot side.
I guess it was just that we wanted the zip layout to be of a specific kind (i.e.
no sub-dir) and that not all that was built actually was going to be included.
Best would be if this script handled the packaging instead of the buildbot step.
Then it could just upload the file directly.

Powered by Google App Engine