Hello world crash with debug version of v8_monolithic 12.3.x and 12.4.x on macOS

15 views
Skip to first unread message

dong tommy

unread,
May 8, 2024, 5:33:56 AMMay 8
to v8-dev
Hi Experts,

I want to build a debug version of libv8_monolith.a with 12.3.219 and 12.4.254.14 version. Please note: the release version of libv8_monolith.a has no issue with the Hello World sample.
So what I did:
1. sync the 12.3.219 code and cd v8.
2. ./tools/dev/v8gen.py x64.debug  -- 'enable_iterator_debugging=false v8_monolithic=true v8_enable_i18n_support=false is_debug=true v8_use_external_startup_data=false use_custom_libcxx=false is_component_build=false treat_warnings_as_errors=false v8_symbol_level=0'
3. ninja -C ./out.gn/x64.debug v8_monolith -j 32
4. g++ samples/hello-world.cc -o hello-world \
-I. -I./include \
-L./out/x64.debug/obj -lv8_monolith -lv8_libbase -lv8_libplatform -ldl \
-std=c++17 -pthread -std=c++17 -DV8_COMPRESS_POINTERS -DV8_ENABLE_SANDBOX -fno-rtti -g
5. ./hello-world

Then the same crash occurs when v8::Isolate::Scope::~Scope().
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x00000001007db338 hello-world`v8::internal::Isolate::Exit() + 136
    frame #1: 0x000000010011cf3b hello-world`v8::Isolate::Exit() + 43
    frame #2: 0x0000000100001788 hello-world`v8::Isolate::Scope::~Scope(this=0x00007ff7bfeff318) at v8-isolate.h:315:29
    frame #3: 0x00000001000015d5 hello-world`v8::Isolate::Scope::~Scope(this=0x00007ff7bfeff318) at v8-isolate.h:315:14
    frame #4: 0x00000001000012e1 hello-world`main(argc=1, argv=0x00007ff7bfeff818) at hello-world.cc:96:3
    frame #5: 0x00007ff806fce41f dyld`start + 1903

There is no issue for both debug and release v8_monolithic libraries when switching to 11.9.169.6.
I also noticed that the v8_monolithic is only in the official release configuration. Does that mean the debug build of v8_monolithic is not supported well? or anything wrong for my steps? Thanks!
...
'arm64.release.sample': 'release_arm64_sample',
'x64.release.sample': 'release_x64_sample',
...
'release_arm64_sample': [
      'release', 'arm64', 'sample'],
'release_x64_sample': [
      'release', 'x64', 'sample'],
...
'arm64': {
      'gn_args': 'target_cpu="arm64"',
},
'x64': {
      'gn_args': 'target_cpu="x64"',
},
'release': {
      'gn_args': 'is_debug=false dcheck_always_on=false',
},
'sample': {
      'gn_args': 'v8_monolithic=true is_component_build=false '
                 'v8_use_external_startup_data=false use_custom_libcxx=false',
},
Reply all
Reply to author
Forward
0 new messages