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

Issue 669955 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug



Sign in to add a comment

compile failure on chromium.android/Android MIPS Builder (dbg)

Project Member Reported by hanxi@chromium.org, Nov 30 2016

Issue description

compile failure on chromium.android/Android MIPS Builder (dbg)

Type: build-failure

Builders failed on: 
- Android MIPS Builder (dbg): 
  https://build.chromium.org/p/chromium.android/builders/Android%20MIPS%20Builder%20%28dbg%29

The first failure was:
https://build.chromium.org/p/chromium.android/builders/Android%20MIPS%20Builder%20%28dbg%29/builds/7484

V8 related compile failure:
FAILED: obj/v8/test/cctest/cctest/test-macro-assembler-mips.o 
../../third_party/android_tools/ndk/toolchains/mipsel-linux-android-4.9/prebuilt/linux-x86_64/bin/mipsel-linux-android-g++ -MMD -MF obj/v8/test/cctest/cctest/test-macro-assembler-mips.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_NOTIFICATIONS -DUSE_OPENSSL_CERTS=1 -DNO_TCMALLOC -DUSE_EXTERNAL_POPUP_MENU=1 -DDISABLE_NACL -DUSE_PROPRIETARY_CODECS -DSAFE_BROWSING_DB_REMOTE -DCHROMIUM_BUILD -DENABLE_MEDIA_ROUTER=1 -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -DANDROID -DHAVE_SYS_UIO_H -DANDROID_NDK_VERSION=r12b -D__GNU_SOURCE=1 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -DV8_I18N_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_TARGET_ARCH_MIPS -DCAN_USE_FPU_INSTRUCTIONS -D__mips_hard_float=1 -DCAN_USE_FPU_INSTRUCTIONS -DFPU_MODE_FP32 -DENABLE_DISASSEMBLER -DV8_ENABLE_CHECKS -DOBJECT_PRINT -DVERIFY_HEAP -DDEBUG -DTRACE_MAPS -I../.. -Igen -I../../v8/include -Igen/v8/include -I../../v8 -I../../v8/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -ffunction-sections -fno-short-enums -finline-limit=64 -mips32 -Wa,-mips32 -mhard-float -fno-omit-frame-pointer -gdwarf-3 -g1 --sysroot=../../third_party/android_tools/ndk/platforms/android-16/arch-mips -fvisibility=hidden -fPIE -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -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 -fno-exceptions -Wno-deprecated -Wno-narrowing -c ../../v8/test/cctest/test-macro-assembler-mips.cc -o obj/v8/test/cctest/cctest/test-macro-assembler-mips.o
In file included from ../../v8/src/base/macros.h:10:0,
                 from ../../v8/src/base/utils/random-number-generator.h:9,
                 from ../../v8/test/cctest/test-macro-assembler-mips.cc:31:
../../v8/test/cctest/test-macro-assembler-mips.cc: In function 'void Testcvt_s_w_Trunc_uw_s()':
../../v8/test/cctest/test-macro-assembler-mips.cc:443:39: error: lambda-expression in unevaluated context
              run_Cvt<uint32_t>(input, [](MacroAssembler* masm) {
                                       ^
../../v8/src/base/logging.h:61:67: note: in definition of macro 'CHECK_OP'
             ::v8::base::Check##name##Impl<decltype(lhs), decltype(rhs)>( \
                                                                   ^
../../v8/test/cctest/test-macro-assembler-mips.cc:442:5: note: in expansion of macro 'CHECK_EQ'
     CHECK_EQ(static_cast<float>(input),
     ^
../../v8/test/cctest/test-macro-assembler-mips.cc:443:39: error: lambda-expression in unevaluated context
              run_Cvt<uint32_t>(input, [](MacroAssembler* masm) {
                                       ^
../../v8/src/base/logging.h:61:67: note: in definition of macro 'CHECK_OP'
             ::v8::base::Check##name##Impl<decltype(lhs), decltype(rhs)>( \
                                                                   ^
../../v8/test/cctest/test-macro-assembler-mips.cc:442:5: note: in expansion of macro 'CHECK_EQ'
     CHECK_EQ(static_cast<float>(input),
     ^
../../v8/src/base/logging.h:62:52: error: no matching function for call to 'CheckEQImpl(float, unsigned int, const char [139])'
                 (lhs), (rhs), #lhs " " #op " " #rhs)) {                  \
                                                    ^
../../v8/src/base/logging.h:138:28: note: in expansion of macro 'CHECK_OP'
 #define CHECK_EQ(lhs, rhs) CHECK_OP(EQ, ==, lhs, rhs)
                            ^
../../v8/test/cctest/test-macro-assembler-mips.cc:442:5: note: in expansion of macro 'CHECK_EQ'
     CHECK_EQ(static_cast<float>(input),
     ^
../../v8/src/base/logging.h:62:52: note: candidate is:
                 (lhs), (rhs), #lhs " " #op " " #rhs)) {                  \
                                                    ^
../../v8/src/base/logging.h:138:28: note: in expansion of macro 'CHECK_OP'
 #define CHECK_EQ(lhs, rhs) CHECK_OP(EQ, ==, lhs, rhs)
                            ^
../../v8/test/cctest/test-macro-assembler-mips.cc:442:5: note: in expansion of macro 'CHECK_EQ'
     CHECK_EQ(static_cast<float>(input),
     ^
../../v8/src/base/logging.h:119:26: note: template<class Lhs, class Rhs> std::__ndk1::string* v8::base::CheckEQImpl(typename v8::base::PassType<Lhs>::type, typename v8::base::PassType<Rhs>::type, const char*)
   V8_INLINE std::string* Check##NAME##Impl(typename PassType<Lhs>::type lhs,   \
                          ^
../../v8/src/base/logging.h:130:1: note: in expansion of macro 'DEFINE_CHECK_OP_IMPL'
 DEFINE_CHECK_OP_IMPL(EQ, ==)
 ^
../../v8/src/base/logging.h:119:26: note:   template argument deduction/substitution failed:
   V8_INLINE std::string* Check##NAME##Impl(typename PassType<Lhs>::type lhs,   \
                          ^
../../v8/src/base/logging.h:130:1: note: in expansion of macro 'DEFINE_CHECK_OP_IMPL'
 DEFINE_CHECK_OP_IMPL(EQ, ==)
 ^
../../v8/src/base/logging.h:62:52: error: template argument 2 is invalid
                 (lhs), (rhs), #lhs " " #op " " #rhs)) {                  \
                                                    ^
../../v8/src/base/logging.h:138:28: note: in expansion of macro 'CHECK_OP'
 #define CHECK_EQ(lhs, rhs) CHECK_OP(EQ, ==, lhs, rhs)
                            ^
../../v8/test/cctest/test-macro-assembler-mips.cc:442:5: note: in expansion of macro 'CHECK_EQ'
     CHECK_EQ(static_cast<float>(input),
     ^
../../v8/test/cctest/test-macro-assembler-mips.cc: In function 'void Testcvt_d_w_Trunc_w_d()':
../../v8/test/cctest/test-macro-assembler-mips.cc:455:38: error: lambda-expression in unevaluated context
              run_Cvt<int32_t>(input, [](MacroAssembler* masm) {
                                      ^
../../v8/src/base/logging.h:61:67: note: in definition of macro 'CHECK_OP'
             ::v8::base::Check##name##Impl<decltype(lhs), decltype(rhs)>( \
                                                                   ^
....

+haraken@ and yukishiino@: please help to triage, thanks!
 
Cc: rmcilroy@chromium.org
+Ross
Cc: manojkum...@imgtec.com
Labels: -undefined Arch-MIPS OS-Android Pri-3 Type-Bug
Cc: ilija.pa...@imgtec.com
Components: Blink>JavaScript
Owner: jochen@chromium.org
Status: Assigned (was: Available)
https://codereview.chromium.org/1747863002 seems causing the compile error on Android.

Assigned to jochen@ for triage.
Ilija, do you have a fix handy? Otherwise, I'd suggest to revert the tests for now to make the builder work again
I'm sorry that I didn't check how old the CL is.  It's 9 months old.  I'm okay with reverting though.  Just FYI.
Cc: jochen@chromium.org
Owner: machenb...@chromium.org
Michael, did we recently change something about the mips compiler config?
I just work on this. The problem is lambda expression used directly as argument in a function call.

Consider following example:
run_Cvt<uint32_t>(input, <lambda_expression>);

The problem will be fixed with following correction:
auto fn = <lambda_expression>
run_Cvt<uint32_t>(input, fn);


Mentioned corrections must be done in v8/test/cctest/test-macro-assembler-mips.cc
No change on our side. Is this debug only? We only have a release bot.

The change range is:
https://chromium.googlesource.com/v8/v8/+log/f796cb3f..2e67e9fd

Would it be enough if we wait here for ilija.pavlovic's fix as suggested in comment 7?
Clarification: We didn't change the builder configuration.

The change range above are the two v8 rolls in the first failing build.
Cc: machenb...@chromium.org
Owner: jochen@chromium.org
Routing this back to jochen as I'll be OOO soon.

De facto this is assigned to ilija.pavlovic@imgtec.com - but monorail doesn't allow assignment to non-chromium addresses.
Corrections will be done in v8/test/cctest/test-macro-assembler-mips.cc and v8/test/cctest/test-macro-assembler-mips64.cc.
CL with these changes will be uploaded after retesting and asap.
The CL is uploaded and landed: https://codereview.chromium.org/2543643005/
Status: Fixed (was: Assigned)

Sign in to add a comment