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

Issue 904393 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug-Regression



Sign in to add a comment

iOS bulid failing on webrtc-in-chrome bots after iOS 11 became a dependency of Chrome

Project Member Reported by maxmorin@chromium.org, Nov 12

Issue description

Waterfall is red. The revert [1] got a CR-1, so I'll try to fix forward.

Example failure:
[3024/18964] OBJCXX obj/ios/chrome/browser/ui/autofill/manual_fill/manual_fill_ui/manual_fill_cell_utils.o
FAILED: obj/ios/chrome/browser/ui/autofill/manual_fill/manual_fill_ui/manual_fill_cell_utils.o 
/b/s/w/ir/cache/goma/client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/ios/chrome/browser/ui/autofill/manual_fill/manual_fill_ui/manual_fill_cell_utils.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DCR_XCODE_VERSION=1010 -DCR_CLANG_REVISION=\"346388-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DNS_BLOCK_ASSERTIONS=1 -DWEBP_EXTERN=extern -DEXPAT_RELATIVE_PATH -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_SUPPORT_GPU=0 -DI18N_ADDRESS_VALIDATION_DATA_URL=\"https://chromium-i18n.appspot.com/ssl-aggregate-address/\" -DLEVELDB_PLATFORM_CHROMIUM=1 -DLEVELDB_PLATFORM_CHROMIUM=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/libwebp/src -I../../third_party/libyuv/include -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../skia/config -I../../skia/ext -I../../third_party/skia/include/c -I../../third_party/skia/include/config -I../../third_party/skia/include/core -I../../third_party/skia/include/docs -I../../third_party/skia/include/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/pathops -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/modules/skottie/include -I../../third_party/libaddressinput/src/cpp/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/src/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fcolor-diagnostics -fmerge-all-constants -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -no-canonical-prefixes -arch armv7 -Wall -Werror -Wextra -Wimplicit-fallthrough -Wthread-safety -Wunguarded-availability -Wundeclared-selector -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-null-pointer-arithmetic -Wno-ignored-pragma-optimize -Wno-defaulted-function-deleted -Oz -fno-omit-frame-pointer -gdwarf-2 -isysroot /b/s/w/ir/cache/xcode_ios_10b61.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk -stdlib=libc++ -miphoneos-version-min=10.0 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang enforce-in-thirdparty-webkit -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -std=c++14 -fobjc-call-cxx-cdtors -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -fobjc-arc -c ../../ios/chrome/browser/ui/autofill/manual_fill/manual_fill_cell_utils.mm -o obj/ios/chrome/browser/ui/autofill/manual_fill/manual_fill_ui/manual_fill_cell_utils.o
../../ios/chrome/browser/ui/autofill/manual_fill/manual_fill_cell_utils.mm:69:23: error: 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' is only available on iOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
                      constraintEqualToSystemSpacingBelowAnchor:previousAnchor
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/b/s/w/ir/cache/xcode_ios_10b61.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h:79:1: note: 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' has been explicitly marked partial here
- (NSLayoutConstraint *)constraintEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier API_AVAILABLE(ios(11.0),tvos(11.0));
^
../../ios/chrome/browser/ui/autofill/manual_fill/manual_fill_cell_utils.mm:69:23: note: enclose 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' in an @available check to silence this warning
                      constraintEqualToSystemSpacingBelowAnchor:previousAnchor
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../ios/chrome/browser/ui/autofill/manual_fill/manual_fill_cell_utils.mm:77:21: error: 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' is only available on iOS 11.0 or newer [-Werror,-Wunguarded-availability-new]
                    constraintEqualToSystemSpacingBelowAnchor:previousAnchor
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/b/s/w/ir/cache/xcode_ios_10b61.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.1.sdk/System/Library/Frameworks/UIKit.framework/Headers/NSLayoutAnchor.h:79:1: note: 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' has been explicitly marked partial here
- (NSLayoutConstraint *)constraintEqualToSystemSpacingBelowAnchor:(NSLayoutYAxisAnchor *)anchor multiplier:(CGFloat)multiplier API_AVAILABLE(ios(11.0),tvos(11.0));
^
../../ios/chrome/browser/ui/autofill/manual_fill/manual_fill_cell_utils.mm:77:21: note: enclose 'constraintEqualToSystemSpacingBelowAnchor:multiplier:' in an @available check to silence this warning
                    constraintEqualToSystemSpacingBelowAnchor:previousAnchor
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.

[1] https://chromium-review.googlesource.com/c/chromium/src/+/1329967

 
Cc: maxmorin@chromium.org
Owner: ----
Status: Untriaged (was: Started)
Well, I thought I would take care of this myself but the WebRTC Chromium FYI ios-simulator.json [1] file is quite confusing. It seems to explicitly test iOS 9 and 10, but that doesn't really make sense if 11 is the minimum supported? Maybe "ios_deployment_target" and "os" are different things. Either way, handing this over to eng prod.

[1] https://cs.chromium.org/chromium/src/ios/build/bots/chromium.webrtc.fyi/WebRTC%20Chromium%20FYI%20ios-simulator.json
ios_deployment_target is the minimum target for installing the app
os is the os version on which the app is tested.

So clearly, is os < ios_deployment_target, the test should fail.

Interestingly, it seems that the bot did not run tests even before it start failing compilation.

e.g.
https://ci.chromium.org/p/chromium/builders/luci.chromium.webrtc.fyi/WebRTC%20Chromium%20FYI%20ios-simulator/1140

which explains why this was not detected.
Cc: justincohen@chromium.org olivierrobin@chromium.org
Hmm, I'm quite confused now. I'm not sure WebRTC is even included in iOS Chromium, and if that is the case why do we have iOS bots?
IIUC, webrtc is build for two things

- chrome_remoting (which is a standalone app)
- mojo library that is a dependency of Chrome depends on webrtc_common
Cc: phoglund@chromium.org kjellander@chromium.org
Owner: justincohen@chromium.org
Status: Assigned (was: Untriaged)
kjellander@: phoglund@: 
  We have a minimum OS mismatch right now.  We can either bump the chromium.webrtc.fyi bots to a minimum of iOS11, or we stop targeting common_tests (which includes chrome targets) and instead target a smaller subset?

If I recall correctly, this bot should more closely match Chrome, so I think the answer is to move ios_deployment_target to 11 and drop additional_target_cpus.

Can you confirm?
Yeah, moving to iOS 11 SGTM
I will update the CL to run on iOS11.
Note that this will not solve the bug mentioned in #2 which is that the bots don't run any test.
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 13

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

commit 90bcb82c5c4b6b1a5fd36a8c2b1b5d624b7733ee
Author: Olivier Robin <olivierrobin@google.com>
Date: Tue Nov 13 00:09:26 2018

Migrate chromium.webrtc.fyi ios bot to ios11

Chrome iOS stopped supporting ios10.

Bug:  904393 
Change-Id: I89e9cfe5cc27e8ef94feb5e8b404e1fc8d8264d7
Reviewed-on: https://chromium-review.googlesource.com/c/1329968
Commit-Queue: Olivier Robin <olivierrobin@chromium.org>
Reviewed-by: Patrik Höglund <phoglund@chromium.org>
Reviewed-by: Justin Cohen <justincohen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607380}
[modify] https://crrev.com/90bcb82c5c4b6b1a5fd36a8c2b1b5d624b7733ee/ios/build/bots/chromium.webrtc.fyi/WebRTC Chromium FYI ios-device.json
[modify] https://crrev.com/90bcb82c5c4b6b1a5fd36a8c2b1b5d624b7733ee/ios/build/bots/chromium.webrtc.fyi/WebRTC Chromium FYI ios-simulator.json

Status: Fixed (was: Assigned)
This seems to be fixed.

Sign in to add a comment