v8_enable_lite_mode build fails for Android.

23 views
Skip to first unread message

Sarath Singapati

unread,
Aug 29, 2019, 3:21:21 AM8/29/19
to v8-dev
Hi,

I am trying to build v8 for Android,  with "v8_enable_lite_mode=true" build flag.

Some other build flags used: 
target_os="android" target_cpu="arm64" is_component_build=false v8_monolithic=true v8_use_snapshot=true v8_use_external_startup_data=false

Build fails:
[7/16] ACTION //:run_mksnapshot_default(//build/toolchain/android:android_clang_arm64)
FAILED: gen/embedded.S gen/snapshot.cc
python ../../../../third-party/v8/tools/run.py
./clang_x64_v8_arm64/mksnapshot --turbo_instruction_scheduling --target_os=android --embedded_src gen/embedded.S --embedded_variant Default --random-seed 314159265 --startup_src gen/snapshot.cc --no-native-code-counters

#
# Fatal error in , line 0
# ALIGNMENT EXCEPTION
#
#
#
#FailureMessage Object: 0x7fff67badc40
==== C stack trace ===============================

    ./clang_x64_v8_arm64/mksnapshot(v8::base::debug::StackTrace::StackTrace()+0x13) [0x7ff7ab0dbf03]
    ./clang_x64_v8_arm64/mksnapshot(+0x155d49b) [0x7ff7ab0db49b]
    ./clang_x64_v8_arm64/mksnapshot(V8_Fatal(char const*, int, char const*, ...)+0x148) [0x7ff7ab0d5f08]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Simulator::LoadStoreHelper(v8::internal::Instruction*, long, v8::internal::AddrMode)+0xbe5) [0x7ff7aa7b25c5]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Simulator::Run()+0x75) [0x7ff7aa7ac975]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Simulator::CallImpl(unsigned long, v8::internal::Simulator::CallArgument*)+0x4c1) [0x7ff7aa7ac071]
    ./clang_x64_v8_arm64/mksnapshot(+0x7e29ab) [0x7ff7aa3609ab]
    ./clang_x64_v8_arm64/mksnapshot(+0x7e2d85) [0x7ff7aa360d85]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Execution::TryCall(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::Execution::MessageHandling, v8::internal::MaybeHandle<v8::internal::Object>*)+0xd2) [0x7ff7aa360d02]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Bootstrapper::CompileNative(v8::internal::Isolate*, v8::internal::Vector<char const>, v8::internal::Handle<v8::internal::String>, int, v8::internal::Handle<v8::internal::Object>*, v8::internal::NativesFlag)+0x122) [0x7ff7aa296a92]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Bootstrapper::CompileExtraBuiltin(v8::internal::Isolate*, int)+0x19d) [0x7ff7aa29692d]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Genesis::InstallExtraNatives()+0x12b) [0x7ff7aa299f8b]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Genesis::Genesis(v8::internal::Isolate*, v8::internal::MaybeHandle<v8::internal::JSGlobalProxy>, v8::Local<v8::ObjectTemplate>, unsigned long, v8::DeserializeInternalFieldsCallback, v8::MicrotaskQueue*)+0x590) [0x7ff7aa29b7e0]
    ./clang_x64_v8_arm64/mksnapshot(v8::internal::Bootstrapper::CreateEnvironment(v8::internal::MaybeHandle<v8::internal::JSGlobalProxy>, v8::Local<v8::ObjectTemplate>, v8::ExtensionConfiguration*, unsigned long, v8::DeserializeInternalFieldsCallback, v8::MicrotaskQueue*)+0x4d) [0x7ff7aa284e3d]
    ./clang_x64_v8_arm64/mksnapshot(v8::NewContext(v8::Isolate*, v8::ExtensionConfiguration*, v8::MaybeLocal<v8::ObjectTemplate>, v8::MaybeLocal<v8::Value>, unsigned long, v8::DeserializeInternalFieldsCallback, v8::MicrotaskQueue*)+0x691) [0x7ff7aa236af1]
    ./clang_x64_v8_arm64/mksnapshot(v8::Context::New(v8::Isolate*, v8::ExtensionConfiguration*, v8::MaybeLocal<v8::ObjectTemplate>, v8::MaybeLocal<v8::Value>, v8::DeserializeInternalFieldsCallback, v8::MicrotaskQueue*)+0x27) [0x7ff7aa236f67]
    ./clang_x64_v8_arm64/mksnapshot(main+0x296) [0x7ff7aa20e206]
    /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7ff7a8c6ff45]
    ./clang_x64_v8_arm64/mksnapshot(_start+0x2a) [0x7ff7aa20d02a]
ninja: build stopped: subcommand failed.


Any ideas please?
Thanks

Jakob Gruber

unread,
Aug 29, 2019, 3:45:47 AM8/29/19
to v8-...@googlegroups.com, Ross McIlroy
Please file a bug at crbug.com/v8/new. I see the same behavior locally on current ToT. The exception is due to the stack pointer not being 16-byte aligned. At a quick glance it does seem lite-mode related (I can't repro with --jitless for example).

--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/74d2c1cf-936b-4f62-b82b-eb73029ebef7%40googlegroups.com.

Ross McIlroy

unread,
Aug 29, 2019, 6:57:57 AM8/29/19
to Jakob Gruber, v8-dev, Ross McIlroy
This was an issue with the PushMultipleTimes macro-assembler helper when --optimize-for-size was enabled (which is enabled by lite_mode). I have a fix in 

Cheers,
Ross

sarath.s...@gmail.com

unread,
Sep 3, 2019, 6:56:53 AM9/3/19
to v8-dev
Thank you verymuch!
To unsubscribe from this group and stop receiving emails from it, send an email to v8-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages