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
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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', },