Closed Bug 1529650 Opened 9 months ago Closed 9 months ago

Permafailing aarch bustage in Disasm-vixl.cpp / MozBaseAssembler-vixl.h when Gecko 67 merges to beta on 2019-03-11

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox65 unaffected, firefox66 unaffected, firefox67 verified)

VERIFIED FIXED
mozilla67
Tracking Status
firefox65 --- unaffected
firefox66 --- unaffected
firefox67 --- verified

People

(Reporter: stefan_hindli, Assigned: andi)

Details

Attachments

(1 file)

Central as Beta simulation:

https://treeherder.mozilla.org/#/jobs?repo=try&resultStatus=testfailed%2Cbusted%2Cexception%2Cusercancel%2Crunnable&classifiedState=unclassified&author=shindli%40mozilla.com&selectedJob=229638591

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=229638591&repo=try&lineNumber=5762

Failure log snippet:

[task 2019-02-21T14:34:11.552Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/data'
[task 2019-02-21T14:34:11.567Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-02-21T14:34:11.567Z] 14:34:11 INFO - config/external/nspr/pr/prcountr.o
[task 2019-02-21T14:34:11.569Z] 14:34:11 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang -std=gnu99 --target=aarch64-linux-android -o prcountr.o -c -flto=thin -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -D_NSPR_BUILD_ -DHAVE_POINTER_LOCALTIME_R -DHAVE_FCNTL_FILE_LOCKING -D_GNU_SOURCE -DLINUX -D_PR_PTHREADS -I/builds/worker/workspace/build/src/config/external/nspr/pr -I/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr -I/builds/worker/workspace/build/src/config/external/nspr -I/builds/worker/workspace/build/src/nsprpub/pr/include -I/builds/worker/workspace/build/src/nsprpub/pr/include/private -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/aarch64-linux-android -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=21 -fstack-protector-strong -fno-short-enums -fno-exceptions -fstack-protector-strong -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -Oz -fomit-frame-pointer -funwind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -MD -MP -MF .deps/prcountr.o.pp /builds/worker/workspace/build/src/nsprpub/pr/src/misc/prcountr.c
[task 2019-02-21T14:34:11.569Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-02-21T14:34:11.571Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n'
[task 2019-02-21T14:34:11.571Z] 14:34:11 INFO - mkdir -p '.deps/'
[task 2019-02-21T14:34:11.571Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n'
[task 2019-02-21T14:34:11.572Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n'
[task 2019-02-21T14:34:11.572Z] 14:34:11 INFO - config/external/icu/i18n/astro.o
[task 2019-02-21T14:34:11.573Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/i18n'
[task 2019-02-21T14:34:11.600Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jit'
[task 2019-02-21T14:34:11.600Z] 14:34:11 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ --target=aarch64-linux-android -o Disasm-vixl.o -c -flto=thin -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DWASM_HUGE_MEMORY -DJS_HAS_CTYPES -DFFI_BUILDING -DMOZ_LINKER -DEXPORT_JS_API -DMOZ_HAS_MOZGLUE -I/builds/worker/workspace/build/src/js/src/jit -I/builds/worker/workspace/build/src/obj-firefox/js/src/jit -I/builds/worker/workspace/build/src/obj-firefox/js/src -I/builds/worker/workspace/build/src/js/src -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/js/src/js-confdefs.h -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/aarch64-linux-android -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=21 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-noexcept-type -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-short-enums -fno-exceptions -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++/include -I/builds/worker/workspace/build/src/android-ndk/sources/android/support/include -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++abi/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O3 -fomit-frame-pointer -funwind-tables -Werror -fno-strict-aliasing -Werror=format -Wno-shadow -MD -MP -MF .deps/Disasm-vixl.o.pp /builds/worker/workspace/build/src/js/src/jit/arm64/vixl/Disasm-vixl.cpp
[task 2019-02-21T14:34:11.600Z] 14:34:11 ERROR - /builds/worker/workspace/build/src/js/src/jit/arm64/vixl/Disasm-vixl.cpp:2618:3: error: Use SprintfLiteral instead of snprintf when writing into a character array.
[task 2019-02-21T14:34:11.600Z] 14:34:11 INFO - snprintf(re_form, sizeof(re_form), form,
[task 2019-02-21T14:34:11.600Z] 14:34:11 INFO - ^
[task 2019-02-21T14:34:11.601Z] 14:34:11 INFO - /builds/worker/workspace/build/src/js/src/jit/arm64/vixl/Disasm-vixl.cpp:2618:3: note: This will prevent passing in the wrong size to snprintf accidentally.
[task 2019-02-21T14:34:11.601Z] 14:34:11 INFO - 1 error generated.
[task 2019-02-21T14:34:11.601Z] 14:34:11 INFO - /builds/worker/workspace/build/src/config/rules.mk:805: recipe for target 'Disasm-vixl.o' failed
[task 2019-02-21T14:34:11.601Z] 14:34:11 ERROR - make[4]: *** [Disasm-vixl.o] Error 1
[task 2019-02-21T14:34:11.601Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/js/src/jit'
[task 2019-02-21T14:34:11.601Z] 14:34:11 INFO - make[4]: *** Waiting for unfinished jobs....
[task 2019-02-21T14:34:11.608Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/ffi'
[task 2019-02-21T14:34:11.608Z] 14:34:11 INFO - mkdir -p '.deps/'
[task 2019-02-21T14:34:11.608Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/ffi'
[task 2019-02-21T14:34:11.726Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/common'
[task 2019-02-21T14:34:11.728Z] 14:34:11 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang++ --target=aarch64-linux-android -o bytesinkutil.o -c -flto=thin -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DU_COMMON_IMPLEMENTATION -DUCONFIG_NO_TRANSLITERATION -DUCONFIG_NO_REGULAR_EXPRESSIONS -DUCONFIG_NO_LEGACY_CONVERSION -DU_USING_ICU_NAMESPACE=0 -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -DU_CHARSET_IS_UTF8 -DU_HAVE_NL_LANGINFO_CODESET=0 -I/builds/worker/workspace/build/src/config/external/icu/common -I/builds/worker/workspace/build/src/obj-firefox/config/external/icu/common -I/builds/worker/workspace/build/src/intl/icu/source/i18n -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/aarch64-linux-android -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=21 -fstack-protector-strong -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-short-enums -fno-exceptions -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++/include -I/builds/worker/workspace/build/src/android-ndk/sources/android/support/include -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++abi/include -fstack-protector-strong -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -Oz -fomit-frame-pointer -funwind-tables -Wno-deprecated-declarations -Wno-type-limits -Wno-unused-but-set-variable -Wno-unused-function -Wno-sign-compare -Wno-maybe-uninitialized -frtti -MD -MP -MF .deps/bytesinkutil.o.pp /builds/worker/workspace/build/src/intl/icu/source/common/bytesinkutil.cpp
[task 2019-02-21T14:34:11.728Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/common'
[task 2019-02-21T14:34:11.728Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-02-21T14:34:11.728Z] 14:34:11 INFO - config/external/nspr/pr/prdtoa.o
[task 2019-02-21T14:34:11.729Z] 14:34:11 INFO - /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/clang/bin/clang -std=gnu99 --target=aarch64-linux-android -o prdtoa.o -c -flto=thin -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -D_NSPR_BUILD_ -DHAVE_POINTER_LOCALTIME_R -DHAVE_FCNTL_FILE_LOCKING -D_GNU_SOURCE -DLINUX -D_PR_PTHREADS -I/builds/worker/workspace/build/src/config/external/nspr/pr -I/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr -I/builds/worker/workspace/build/src/config/external/nspr -I/builds/worker/workspace/build/src/nsprpub/pr/include -I/builds/worker/workspace/build/src/nsprpub/pr/include/private -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -DMOZILLA_CLIENT -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include/aarch64-linux-android -isystem /builds/worker/workspace/build/src/android-ndk/sysroot/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=21 -fstack-protector-strong -fno-short-enums -fno-exceptions -fstack-protector-strong -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -pipe -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -Oz -fomit-frame-pointer -funwind-tables -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -MD -MP -MF .deps/prdtoa.o.pp /builds/worker/workspace/build/src/nsprpub/pr/src/misc/prdtoa.c
[task 2019-02-21T14:34:11.729Z] 14:34:11 WARNING - /builds/worker/workspace/build/src/nsprpub/pr/src/misc/prdtoa.c:571:50: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
[task 2019-02-21T14:34:11.729Z] 14:34:11 INFO - if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) {
[task 2019-02-21T14:34:11.729Z] 14:34:11 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
[task 2019-02-21T14:34:11.729Z] 14:34:11 WARNING - /builds/worker/workspace/build/src/nsprpub/pr/src/misc/prdtoa.c:2627:52: warning: comparison of integers of different signs: 'unsigned long' and 'int' [-Wsign-compare]
[task 2019-02-21T14:34:11.729Z] 14:34:11 INFO - sizeof(Bigint) - sizeof(ULong) - sizeof(int) + j <= i;
[task 2019-02-21T14:34:11.729Z] 14:34:11 INFO - ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
[task 2019-02-21T14:34:11.730Z] 14:34:11 INFO - 2 warnings generated.
[task 2019-02-21T14:34:11.730Z] 14:34:11 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/config/external/nspr/pr'
[task 2019-02-21T14:34:11.730Z] 14:34:11 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/config/external/icu/common'
[task 2019-02-21T14:34:11.730Z] 14:34:11 INFO - config/external/icu/common/bytestream.o

:glandium / :nfroyd can this be caused by https://bugzilla.mozilla.org/show_bug.cgi?id=1428158? Can you please take a look?

Flags: needinfo?(nfroyd)
Flags: needinfo?(mh+mozilla)
Summary: Android 5.0 aarch64 opt build-android-aarch64/opt bustage in Disasm-vixl.cpp / MozBaseAssembler-vixl.h → Android 5.0 aarch64 opt build-android-aarch64/opt bustage in Disasm-vixl.cpp / MozBaseAssembler-vixl.h when Gecko 67 merges to beta on 2019-03-11

This is probably caused by bug 1428158...but vixl is listed as a third-party path, so we shouldn't be checking it for static analysis:

https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/tools/rewriting/ThirdPartyPaths.txt#45

Sylvestre, can you find somebody to take a look at that?

Flags: needinfo?(sledru)
Flags: needinfo?(nfroyd)
Flags: needinfo?(mh+mozilla)

Sure, Andi can help!

Flags: needinfo?(sledru) → needinfo?(bpostelnicu)

Sure the path s/src/jit/arm64/vixl/ is in ThirdPartyPaths.txt but this is not enougth, in order to be taken into account polymorphic matcher isFirstParty or inThirdPartyPath() have to be used, and in our case aren't.
I think this is implemented as such since we disalow this in third party code as well, why don't we fix the actual problem by replacing snprintf with SprintfLiteral, like it has been done in this revision?

Flags: needinfo?(bpostelnicu) → needinfo?(shindli)
Flags: needinfo?(shindli) → needinfo?(nfroyd)

Because vixl is upstream code (at least the non-Moz-prefixed files), and it seems better to fix the bug that the checker isn't using inThirdPartyPath() or similar?

Flags: needinfo?(nfroyd)

This should fix the issue.

Summary: Android 5.0 aarch64 opt build-android-aarch64/opt bustage in Disasm-vixl.cpp / MozBaseAssembler-vixl.h when Gecko 67 merges to beta on 2019-03-11 → Permafailing aarch bustage in Disasm-vixl.cpp / MozBaseAssembler-vixl.h when Gecko 67 merges to beta on 2019-03-11
Flags: needinfo?(bpostelnicu)
Pushed by bpostelnicu@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8f243b54b803
For SprintfLiteral checker also disallow it in third party paths. r=froydnj
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67
Assignee: nobody → bpostelnicu
Flags: needinfo?(bpostelnicu)
You need to log in before you can comment on or make changes to this bug.