Hi Igor and all,

Does anyone get a chance to try the Hello World with the debug version
of *libv8_monolith.a
from 12.3.x or 12.4.x?*


On Mon, May 6, 2024 at 11:11 AM dong tommy <tommy.dong1...@gmail.com> wrote:

> I also noticed that the v8_monolithic is only in the release
> configuration. Does that mean the debug build of v8_monolithic is not
> supported well?
> ...
> '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',
> },
>
> 在2024年5月5日星期日 UTC+8 00:51:08<dong tommy> 写道:
>
>> Corrected the step 4:
>>
>> g++ samples/hello-world.cc -o hello-world \
>> -I. -I./include \
>> -L./out.gn/x64.debug/obj -lv8_monolith -ldl \
>> -std=c++17 -pthread -std=c++17 -fno-rtti -g
>>
>> The same crash occurs:
>> * 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
>> 在2024年5月5日星期日 UTC+8 00:26:51<dong tommy> 写道:
>>
>>> Update some steps:
>>>
>>>    - Before step 2, I did "ninja -C out.gn/x64.debug -t clean".
>>>    - Correct the copy issue step 4:
>>>
>>> 4. g++ samples/hello-world.cc -o hello-world \
>>> -I. -I./include \
>>> -L./out.gn/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
>>>
>>> 在2024年5月5日星期日 UTC+8 00:22:17<dong tommy> 写道:
>>>
>>>> Thanks Igor!
>>>> I followed your suggestion to test `tools/dev/gm.py x64.optdebug.check`
>>>> on macOS 13. However, I got some warnings, such as:
>>>> In file included from
>>>> ../../src/compiler/turboshaft/wasm-optimize-phase.cc:8:
>>>> ../../src/compiler/turboshaft/branch-elimination-reducer.h:348:28:
>>>> error: variable 'cond' set but not used [-Werror,-Wunused-but-set-variable]
>>>>   348 |           if (const PhiOp* cond = __ input_graph()
>>>>       |                            ^
>>>> So I have to add treat_warnings_as_errors=false to continue, finally, I
>>>> still see some tests failed:
>>>>
>>>> [2971/2971] LINK ./cctest
>>>> # "/Users/xxx/.pyenv/versions/3.9.14/bin/python3" tools/run-tests.py
>>>> --outdir=out/x64.optdebug unittests intl debugger mjsunit message cctest
>>>> Build found: /Users/xxx/Downloads/v8env/v8/v8/out/x64.optdebug
>>>> >>> Autodetected:
>>>> DEBUG_defined, arch="x64", atomic_object_field_writes, clang,
>>>> code_comments, component_build, concurrent_marking, current_cpu="x64",
>>>> debug_code, debugging_features, disassembler, gdbjit, has_maglev,
>>>> has_turbofan, has_webassembly, i18n, js_shared_memory, pointer_compression,
>>>> pointer_compression_shared_cage, runtime_call_stats, sandbox,
>>>> shared_ro_heap, target_cpu="x64", v8_current_cpu="x64",
>>>> v8_target_cpu="x64", verify_heap
>>>> >>> Running tests for x64.debug
>>>> >>> Running with test processors
>>>> === intl/general/case-mapping ===
>>>> /Users/xxx/Downloads/v8env/v8/v8/test/intl/assert.js:105: Error:
>>>> Failure: expected <ΑΟΫΩ>, found <ΑΟΫΩ>.
>>>>   throw new Error(message);
>>>>   ^
>>>> Error: Failure: expected <ΑΟΫΩ>, found <ΑΟΫΩ>.
>>>>     at fail (/Users/xxx/Downloads/v8env/v8/v8/test/intl/assert.js:105:9)
>>>>     at assertEquals
>>>> (/Users/xxx/Downloads/v8env/v8/v8/test/intl/assert.js:114:5)
>>>>     at
>>>> /Users/xxx/Downloads/v8env/v8/v8/test/intl/general/case-mapping.js:149:1
>>>> Command: out/x64.optdebug/d8 --test test/intl/assert.js
>>>> test/intl/utils.js test/intl/general/case-mapping.js
>>>> --random-seed=257871742 --nohard-abort --verify-heap
>>>> --testing-d8-test-runner --allow-natives-syntax
>>>> --- FAILED ---
>>>> [582:16|%  96|+ 18733|-   1]: Done
>>>> >>> 19349 base tests produced 18734 (96%) non-filtered tests
>>>> >>> 18734 tests ran
>>>> Error! - V8 compilation finished with errors
>>>>
>>>> Actually, I want to build* a **debug version of **libv8_monolith.a
>>>> with 12.3.219 version*, since 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=tru*e
>>>> *v8_use_external_startup_data=false* *use_custom_libcxx=false
>>>> is_component_build=false* treat_warnings_as_errors=false
>>>> v8_symbol_level=0  v8_enable_pointer_compression=false'
>>>> 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.optdebug/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(). Could you
>>>> please help to check my steps and any mistakes? thanks in advance.
>>>>
>>>> Best Regards,
>>>> Tommy
>>>>
>>>> 在2024年5月4日星期六 UTC+8 00:22:21<ish...@google.com> 写道:
>>>>
>>>>> I tried exactly the V8 version you mentioned (12.3.219) and I tried it
>>>>> with your GN args too. All good.
>>>>>
>>>>> On Fri, May 3, 2024 at 5:34 PM dong tommy <tommy.d...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi ish..., may I know which version of v8 you are using?
>>>>>>
>>>>>> 在2024年5月3日星期五 UTC+8 23:14:05<ish...@google.com> 写道:
>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I tried to build both the original HelloWorld and the one with your
>>>>>>> modifications on Linux and on MacOS. No crashes.
>>>>>>> Something must be wrong with your build environment.
>>>>>>> Maybe try to clean the build dir and start from scratch using a more
>>>>>>> standard set of gn args: `tools/dev/gm.py x64.optdebug.check` (it'll 
>>>>>>> build
>>>>>>> v8 and run tests).
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 3, 2024 at 2:31 AM dong tommy <tommy.d...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>
>>>>>>>> Even without any change for Hello World, I still get the below
>>>>>>>> crash when exiting with v8 12.3.x:
>>>>>>>>
>>>>>>>> * thread #1, queue = 'com.apple.main-thread', stop reason =
>>>>>>>> EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
>>>>>>>>   * frame #0: 0x00000001003b2ad0
>>>>>>>> hello-world`v8::internal::Isolate::Exit(this=0x0000000100000001) at
>>>>>>>> isolate.cc:5060:3 [opt]
>>>>>>>>     frame #1: 0x0000000100004e08
>>>>>>>> hello-world`v8::Isolate::Scope::~Scope() + 24
>>>>>>>>     frame #2: 0x0000000100004c25
>>>>>>>> hello-world`v8::Isolate::Scope::~Scope() + 21
>>>>>>>>     frame #3: 0x0000000100004907 hello-world`main + 1607
>>>>>>>>     frame #4: 0x00007ff804d2941f dyld`start + 1903
>>>>>>>>
>>>>>>>> 在2024年5月3日星期五 UTC+8 07:57:13<dong tommy> 写道:
>>>>>>>>
>>>>>>>>> The args are:
>>>>>>>>> 'is_debug = true',
>>>>>>>>> 'enable_iterator_debugging = true',
>>>>>>>>> 'symbol_level = 1',
>>>>>>>>> 'target_cpu = "x64"',
>>>>>>>>> 'is_component_build = false',
>>>>>>>>> 'is_chrome_branded = false',
>>>>>>>>> 'treat_warnings_as_errors = false',
>>>>>>>>> 'is_clang = true',
>>>>>>>>> 'use_glib = false',
>>>>>>>>> 'use_custom_libcxx = false',
>>>>>>>>> 'use_custom_libcxx_for_host = false',
>>>>>>>>> 'optimize_for_size = false',
>>>>>>>>> 'v8_monolithic = true',
>>>>>>>>> 'v8_static_library = true',
>>>>>>>>> 'v8_use_external_startup_data = false',
>>>>>>>>> 'v8_enable_i18n_support = false',
>>>>>>>>> 'v8_enable_webassembly = false',
>>>>>>>>> 'v8_enable_lite_mode = true',
>>>>>>>>> 'v8_enable_snapshot_compression = true',
>>>>>>>>> 'exclude_unwind_tables = true',
>>>>>>>>> 'v8_enable_verify_heap = false'
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 在2024年5月3日星期五 UTC+8 07:48:53<dong tommy> 写道:
>>>>>>>>>
>>>>>>>>>> Hi Experts,
>>>>>>>>>>
>>>>>>>>>> I added a v8::EscapableHandleScope case and tested the below
>>>>>>>>>> Hello World code(
>>>>>>>>>> https://raw.githubusercontent.com/v8/v8/12.3.219/samples/hello-world.cc)
>>>>>>>>>> for the V8 engine(https://github.com/v8/v8) and found that it
>>>>>>>>>> works well with v8 11.x.x version. However, it crashed or aborted 
>>>>>>>>>> with v8
>>>>>>>>>> 12.3.x version in GetObjectTemplate. Does anyone have any idea about 
>>>>>>>>>> that
>>>>>>>>>> issue? or any mistake I made? Thanks!
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> https://stackoverflow.com/questions/78420822/check-failed-on-escapablehandlescopeescape
>>>>>>>>>>
>>>>>>>>>> void Test(v8::Local<v8::Name> name,
>>>>>>>>>>              const v8::PropertyCallbackInfo<v8::Value>& info) {
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> v8::Local<v8::ObjectTemplate> GetObjectTemplate(v8::Isolate*
>>>>>>>>>> isolate)
>>>>>>>>>> {
>>>>>>>>>>   v8::EscapableHandleScope handle_scope(isolate);
>>>>>>>>>>   v8::Local<v8::ObjectTemplate> result =
>>>>>>>>>> v8::ObjectTemplate::New(isolate);
>>>>>>>>>>   result->SetInternalFieldCount(1);
>>>>>>>>>>   result->SetHandler(v8::NamedPropertyHandlerConfiguration(Test));
>>>>>>>>>>   return handle_scope.Escape(result);
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> int main(int argc, char* argv[]) {
>>>>>>>>>>   // Initialize V8.
>>>>>>>>>>   v8::V8::InitializeICUDefaultLocation(argv[0]);
>>>>>>>>>>   v8::V8::InitializeExternalStartupData(argv[0]);
>>>>>>>>>>   std::unique_ptr<v8::Platform> platform =
>>>>>>>>>> v8::platform::NewDefaultPlatform();
>>>>>>>>>>   v8::V8::InitializePlatform(platform.get());
>>>>>>>>>>   v8::V8::Initialize();
>>>>>>>>>>
>>>>>>>>>>   // Create a new Isolate and make it the current one.
>>>>>>>>>>   v8::Isolate::CreateParams create_params;
>>>>>>>>>>   create_params.array_buffer_allocator =
>>>>>>>>>>       v8::ArrayBuffer::Allocator::NewDefaultAllocator();
>>>>>>>>>>   v8::Isolate* isolate = v8::Isolate::New(create_params);
>>>>>>>>>>   {
>>>>>>>>>>     v8::Isolate::Scope isolate_scope(isolate);
>>>>>>>>>>
>>>>>>>>>>      // Create a stack-allocated handle scope.
>>>>>>>>>>     v8::HandleScope handle_scope(isolate);
>>>>>>>>>>
>>>>>>>>>>     v8::Local<v8::ObjectTemplate> global =
>>>>>>>>>> GetObjectTemplate(isolate); // aborted here
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>> --
>>>>>>>> v8-users mailing list
>>>>>>>> v8-u...@googlegroups.com
>>>>>>>> http://groups.google.com/group/v8-users
>>>>>>>> ---
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "v8-users" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to v8-users+u...@googlegroups.com.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/v8-users/f011e3ee-ef58-46d1-a1eb-3d7dee6ad4aen%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/v8-users/f011e3ee-ef58-46d1-a1eb-3d7dee6ad4aen%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>> Igor Sheludko
>>>>>>>
>>>>>>> Software Engineer
>>>>>>>
>>>>>>> ish...@google.com
>>>>>>>
>>>>>>>
>>>>>>> Google Germany GmbH
>>>>>>>
>>>>>>> Erika-Mann-Straße 33
>>>>>>>
>>>>>>> 80636 München
>>>>>>>
>>>>>>>
>>>>>>> Geschäftsführer: Paul Manicle, Liana Sebastian
>>>>>>>
>>>>>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>>>>>
>>>>>>> Sitz der Gesellschaft: Hamburg
>>>>>>>
>>>>>>>
>>>>>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise
>>>>>>> erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes
>>>>>>> weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich 
>>>>>>> bitte
>>>>>>> wissen, dass die E-Mail an die falsche Person gesendet wurde.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> This e-mail is confidential. If you received this communication by
>>>>>>> mistake, please don't forward it to anyone else, please erase all copies
>>>>>>> and attachments, and please let me know that it has gone to the wrong
>>>>>>> person.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>> --
>>>>>> v8-users mailing list
>>>>>> v8-u...@googlegroups.com
>>>>>> http://groups.google.com/group/v8-users
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "v8-users" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to v8-users+u...@googlegroups.com.
>>>>>>
>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/v8-users/d6698ead-7662-43e8-ab0b-928f211519e5n%40googlegroups.com
>>>>>> <https://groups.google.com/d/msgid/v8-users/d6698ead-7662-43e8-ab0b-928f211519e5n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>> Igor Sheludko
>>>>>
>>>>> Software Engineer
>>>>>
>>>>> ish...@google.com
>>>>>
>>>>>
>>>>> Google Germany GmbH
>>>>>
>>>>> Erika-Mann-Straße 33
>>>>>
>>>>> 80636 München
>>>>>
>>>>>
>>>>> Geschäftsführer: Paul Manicle, Liana Sebastian
>>>>>
>>>>> Registergericht und -nummer: Hamburg, HRB 86891
>>>>>
>>>>> Sitz der Gesellschaft: Hamburg
>>>>>
>>>>>
>>>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise
>>>>> erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes
>>>>> weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich 
>>>>> bitte
>>>>> wissen, dass die E-Mail an die falsche Person gesendet wurde.
>>>>>
>>>>>
>>>>>
>>>>> This e-mail is confidential. If you received this communication by
>>>>> mistake, please don't forward it to anyone else, please erase all copies
>>>>> and attachments, and please let me know that it has gone to the wrong
>>>>> person.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
> --
> v8-users mailing list
> v8-users@googlegroups.com
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to v8-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/v8-users/4d1d0ad6-7a8c-49d5-851a-7e7e4bc28c84n%40googlegroups.com
> <https://groups.google.com/d/msgid/v8-users/4d1d0ad6-7a8c-49d5-851a-7e7e4bc28c84n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/CAEWQ_MSeRb%3D9y8N4RS9HcUOzCmBSNzNPt3U35ogLTjKsd6ZSAA%40mail.gmail.com.

Reply via email to