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

Issue 751212 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

Error when compiling "net" target with "use_sanitizer_coverage = true" flag for iOS.

Project Member Reported by kapishnikov@chromium.org, Aug 1 2017

Issue description

When the "net" target is compiled for iOS with the following GN flags 

use_sanitizer_coverage = true
sanitizer_coverage_flags = "func,trace-pc"
use_xcode_clang=true

the build fails with the error:
[172/191] LINK clang_x64/protoc
FAILED: clang_x64/protoc clang_x64/protoc.dSYM clang_x64/protoc.dSYM/Contents/Info.plist clang_x64/protoc.dSYM/Contents/Resources/DWARF/protoc 
TOOL_VERSION=1501087925 ../../build/toolchain/mac/linker_driver.py ../../third_party/llvm-build/Release+Asserts/bin/clang++  -Wcrl,dsym,clang_x64  -stdlib=libc++ -arch x86_64 -isysroot ../../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.9.0 -fsanitize-coverage=trace-pc-guard,indirect-calls -Wl,-ObjC -Wl,-pie -Werror -o "clang_x64/protoc" -Wl,-filelist,"clang_x64/protoc.rsp"  
ld: file not found: .../ios/src/third_party/llvm-build/Release+Asserts/lib/clang/6.0.0/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

The sanitizer flags are applied to the current host toolchain (i.e. "//build/toolchain/mac:clang_x64") that is used to build the "protoc" executable. However, the toolchain doesn't support "sanitizer_coverage" flags.

Either the support for sanitizer coverage should be added to "//build/toolchain/mac:clang_x64" or the coverage flags should not be applied to it.


 
Cc: s...@google.com
I have sent for review a CL to disable sanitize-coverage on mac:clang_x64:
https://chromium-review.googlesource.com/c/596748

Comment 3 by sczs@chromium.org, Aug 2 2017

Owner: kapishnikov@chromium.org
Status: Assigned (was: Untriaged)
Assigning to kapishnikov@ on the meantime, please re-assign if wrong.
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Aug 3 2017

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

commit 115b976b84339195e7018401928680e66efe92ac
Author: kapishnikov <kapishnikov@chromium.org>
Date: Thu Aug 03 18:39:19 2017

Do not enable sanitize-coverage on mac:clang_x64

Bug:  751212 
Change-Id: I2214931d49ba27c5237582dcacdc2d85512f875e
Reviewed-on: https://chromium-review.googlesource.com/596748
Reviewed-by: smut <smut@google.com>
Reviewed-by: Max Moroz <mmoroz@chromium.org>
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491802}
[modify] https://crrev.com/115b976b84339195e7018401928680e66efe92ac/build/config/sanitizers/BUILD.gn

Status: Fixed (was: Started)
Project Member

Comment 7 by bugdroid1@chromium.org, Aug 14 2017

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

commit 2484887f6de2a7877d98f04ec9effad7312ca0c3
Author: kapishnikov <kapishnikov@chromium.org>
Date: Mon Aug 14 17:19:28 2017

Disable use_sanitizer_coverage for mac_clang_x64 toolchain

The use_sanitizer_coverage arg is currently not supported by the
Chromium mac_clang_x64 toolchain. This CL removes the flag if
the toolchain is the secondary one and throws an assertion error
if the toolchain is the primary one. For more info see the
associated bugs. This is a follow up of CL 596748.

BUG= 751212 ,753445

Change-Id: Ie2f2efcd15ba7bc9f99dafb3dd4a9c2a8535fdf1
Reviewed-on: https://chromium-review.googlesource.com/606724
Commit-Queue: Brett Wilson <brettw@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494085}
[modify] https://crrev.com/2484887f6de2a7877d98f04ec9effad7312ca0c3/build/config/sanitizers/BUILD.gn
[modify] https://crrev.com/2484887f6de2a7877d98f04ec9effad7312ca0c3/build/config/sanitizers/sanitizers.gni
[modify] https://crrev.com/2484887f6de2a7877d98f04ec9effad7312ca0c3/build/toolchain/mac/BUILD.gn

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 15 2017

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

commit a507a929ba27834cbc66b0802b6ad14e34b8968e
Author: kapishnikov <kapishnikov@chromium.org>
Date: Tue Aug 15 19:13:39 2017

Do not disable use_sanitizer_coverage when target_os != "ios"

This should fix breakage of Mac ASAN Release bot:
https://build.chromium.org/p/chromium.lkgr/builders/Mac%20ASAN%20Release/builds/6351

BUG= 751212 ,753445

Change-Id: Ibcba7147f1a086255cb7a0340ffdb9a2646c0548
Reviewed-on: https://chromium-review.googlesource.com/615521
Reviewed-by: Andrei Kapishnikov <kapishnikov@chromium.org>
Reviewed-by: Abhishek Arya <inferno@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Andrei Kapishnikov <kapishnikov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494482}
[modify] https://crrev.com/a507a929ba27834cbc66b0802b6ad14e34b8968e/build/config/sanitizers/sanitizers.gni
[modify] https://crrev.com/a507a929ba27834cbc66b0802b6ad14e34b8968e/build/toolchain/mac/BUILD.gn

Comment 9 by s...@google.com, Feb 15 2018

Cc: -s...@google.com

Sign in to add a comment