New issue
Advanced search Search tips

Issue 789270 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Android arm64 compile failure

Project Member Reported by ntfschr@chromium.org, Nov 28 2017

Issue description

Link to bot: https://build.chromium.org/p/chromium.perf/builders/Android%20arm64%20Compile

This has been intermittently failing throughout the day (first failure was [1]).

Chatted with aluo@, he says it fails consistently locally.

[1] https://build.chromium.org/p/chromium.perf/builders/Android%20arm64%20Compile/builds/80536
 

Comment 1 by aluo@chromium.org, Nov 28 2017

Labels: -Pri-3 M-64 Pri-0
Locally, building chrome_public_apk works, but monochrome_public_apk gives:

ninja: Entering directory `out-gn/Debug'
[26/80] CXX android_clang_arm/obj/chrome/renderer/renderer/metrics_render_frame_observer.o
FAILED: android_clang_arm/obj/chrome/renderer/renderer/metrics_render_frame_observer.o 
/usr/local/google/home/aluo/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF android_clang_arm/obj/chrome/renderer/renderer/metrics_render_frame_observer.o.d -DV8_DEPRECATION_WARNINGS -DNO_TCMALLOC -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION_ROLL=r12b_1 -DCR_CLANG_REVISION=\"318667-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCOMPONENT_BUILD -D__GNU_SOURCE=1 -DCHROMIUM_CXX_TWEAK_INLINES -D__compiler_offsetof=__builtin_offsetof -Dnan=__builtin_nan -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DUSE_EGL -DDISABLE_FFMPEG_VIDEO_DECODERS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DPROTOBUF_USE_DLLS -DV8_USE_EXTERNAL_STARTUP_DATA -DBORINGSSL_SHARED_LIBRARY -DLEVELDB_PLATFORM_CHROMIUM=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_HAS_PNG_LIBRARY -DSK_HAS_WEBP_LIBRARY -DSK_HAS_JPEG_LIBRARY -DSKIA_DLL -DGR_GL_IGNORE_ES3_MSAA=0 -DSK_SUPPORT_GPU=1 -DSK_BUILD_FOR_ANDROID -DUSE_CHROMIUM_SKIA -DMESA_EGL_NO_X11_HEADERS -DUSING_V8_SHARED -DV8_ENABLE_CHECKS -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DWTF_USE_LOW_QUALITY_IMAGE_INTERPOLATION=1 -DWTF_USE_WEBAUDIO_OPENMAX_DL_FFT=1 -DUSING_V8_SHARED -DV8_ENABLE_CHECKS -I../.. -Iandroid_clang_arm/gen -I../../third_party/libwebp/src -I../../third_party/khronos -I../../gpu -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/protobuf/src -I../../third_party/protobuf/src -Iandroid_clang_arm/gen/protoc_out -I../../third_party/boringssl/src/include -I../../third_party/leveldatabase -I../../third_party/leveldatabase/src -I../../third_party/leveldatabase/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/effects -I../../third_party/skia/include/encode -I../../third_party/skia/include/gpu -I../../third_party/skia/include/images -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pdf -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../third_party/skia/third_party/vulkan -I../../third_party/skia/src/gpu -I../../third_party/skia/src/sksl -I../../third_party/mesa/src/include -I../../third_party/libwebm/source -Iandroid_clang_arm/gen/media/base/android/media_jni_headers -Iandroid_clang_arm/gen/media/base/android/media_jni_headers/media -Iandroid_clang_arm/gen -I../../third_party/WebKit -Iandroid_clang_arm/gen/third_party/WebKit -I../../v8/include -Iandroid_clang_arm/gen/v8/include -I../../third_party/WebKit/Source -I../../third_party/WebKit -Iandroid_clang_arm/gen/blink -Iandroid_clang_arm/gen/third_party/WebKit -Iandroid_clang_arm/gen/third_party/metrics_proto -I../../third_party/re2/src -I../../v8/include -Iandroid_clang_arm/gen/v8/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -fcolor-diagnostics -no-canonical-prefixes -ffunction-sections -fno-short-enums --target=arm-linux-androideabi -march=armv7-a -mfloat-abi=softfp -mtune=generic-armv7-a -mfpu=neon -mthumb -Wall -Werror -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-tautological-unsigned-zero-compare -Wno-null-pointer-arithmetic -Wno-tautological-constant-compare -Wtautological-constant-out-of-range-compare -Oz -fno-ident -fdata-sections -ffunction-sections -fomit-frame-pointer -g1 -fdebug-info-for-profiling -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libBlinkGCPlugin.so -Xclang -add-plugin -Xclang blink-gc-plugin -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=gnu++14 -fno-exceptions -fno-rtti -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include -isystem../../third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include -isystem../../third_party/android_tools/ndk/sources/android/support/include --sysroot=../../third_party/android_tools/ndk/platforms/android-16/arch-arm -fvisibility-inlines-hidden -c ../../chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc -o android_clang_arm/obj/chrome/renderer/renderer/metrics_render_frame_observer.o
In file included from ../../chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc:15:
../../chrome/renderer/searchbox/search_bouncer.h:9:10: fatal error: 'chrome/common/search.mojom.h' file not found
#include "chrome/common/search.mojom.h"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[28/80] ACTION //chrome/android:monochrome_java__lint(//build/toolchain/android:android_clang_arm64)
ninja: build stopped: subcommand failed.

But the file out-gn/Debug/gen/chrome/common/search.mojom.h was generated, so don't know why it failed.

building for android on arm64

Changing pri to get this fixed asap.

Comment 2 by aluo@chromium.org, Nov 28 2017

Labels: sheriff-android
Looking in the blamelist for the first failure, we reverted an SDK roll: c2aaefcc1991bd47671d8184a731ae4f960d534c

Maybe stepping down the SDK confused the builder? Have you tried a clobber build?
I'm trying a build. I can build system_webview_apk with no issue, trying some other targets.

Comment 5 by aluo@chromium.org, Nov 28 2017

clobber didn't help.  I also had android_sdk_release = "o_mr1", but removing it didn't help either.
I can repro with `ninja chrome_public_apk` (GN args android_sdk_release at the default, "o_mr1")
Oh, my checkout doesn't actually have search.mojom.h in it (which would explain the issue). Are you sure you actually get that file generated?

Comment 8 by aluo@chromium.org, Nov 28 2017

Owner: treib@chromium.org
Status: Assigned (was: Untriaged)
you're right, I must have had it left over from a previous build.  After clobbering the file is gone.  chrome_public_apk fails for me too now after the clobber.  So now the target //chrome/renderer:renderer is failing too.  Commenting out the is_android check on line 399 of chrome/renderer/BUILD.gn fixed the build.  So I think cl 790511 could be it.  https://chromium-review.googlesource.com/790511

Comment 9 by aluo@chromium.org, Nov 28 2017

reverting the cl fixed my build, should we just revert first, ntfschr@?

Comment 10 by treib@chromium.org, Nov 29 2017

Yup, that'd be mine. Weird that it made it through the CQ and all...

The problem seems to be an unused include of search_bouncer.h from metrics_render_frame_observer.cc: search_bouncer.h in turn includes search.mojom.h which now isn't generated anymore on Android. I'll send a CL to remove that include.

Comment 11 by treib@chromium.org, Nov 29 2017

Labels: -Pri-0 Pri-1
Status: Started (was: Assigned)
Since all the bots seem to be happy and no other developers have complained, I'm downgrading this to P1. (I'll still send a CL to fix soon.)

Locally, I'm currently getting errors due to a bunch of other missing mojom files, which is super weird. Either the search.mojom stuff somehow transitively pulled those in, or something is seriously messed up with building all the mojo stuff.
Project Member

Comment 13 by bugdroid1@chromium.org, Nov 29 2017

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

commit c365e1fb592eb3e9d9b1dcc06dafad8de41f98f8
Author: Marc Treib <treib@chromium.org>
Date: Wed Nov 29 12:03:17 2017

Fix Android build failure due to missing search.mojom.h

This fixes an intermittent build problem introduced by crrev.com/790511:
metrics_render_frame_observer.cc included search_bouncer.h which in turn
included search.mojom.h, which is now not generated on Android anymore.
This CL removes that include, since it's unused anyway.
It also moves chrome/common:search_mojom back into chrome/renderer's
non-OS-specific deps, since it appears to be needed there for unknown
reasons.

TBRing since it's a trivial change, and this is causing active build
pain.
TBR=csharrison

Bug:  787830 ,  789270 , 789403
Change-Id: Ie49cb63b3ef23a3d76fc2cd1cddbc8faa4fa41f7
Reviewed-on: https://chromium-review.googlesource.com/795729
Reviewed-by: Marc Treib <treib@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#520080}
[modify] https://crrev.com/c365e1fb592eb3e9d9b1dcc06dafad8de41f98f8/chrome/renderer/BUILD.gn
[modify] https://crrev.com/c365e1fb592eb3e9d9b1dcc06dafad8de41f98f8/chrome/renderer/page_load_metrics/metrics_render_frame_observer.cc

Comment 14 by treib@chromium.org, Nov 29 2017

Status: Fixed (was: Started)
That should do it.

Comment 15 by aluo@chromium.org, Nov 29 2017

Status: Assigned (was: Fixed)
The official build failed 64.0.3280.0: https://uberchromegw.corp.google.com/i/official.android/builders/official-arm/builds/2665  Could you please cp the fix to 3280 branch asap?  Thanks.

Comment 16 by treib@chromium.org, Nov 29 2017

Status: Fixed (was: Assigned)
Already done: https://chromium-review.googlesource.com/c/chromium/src/+/796750 :)

Sign in to add a comment