On Tue, Jul 16, 2019 at 11:13 AM Dan Elphick <delph...@chromium.org> wrote:
> Does the problem go away if you change the build flags to just > target_cpu="x64" and maybe just is_component_build = false? If so can you > try adding them back in one at a time to see which one triggers it (I'd > probably start with v8_monolithic since the v8_enable_* flags there seem > unlikely to be the cause? > That reminds me, it could be related to use_custom_libcxx (a mismatch in libcxx used for V8 and the embedding project). Have you tried 'use_custom_libcxx = false'? > > On Tuesday, July 16, 2019 at 6:18:48 AM UTC+1, Jakob Gruber wrote: >> >> Looks like allocation of the new string here >> <https://cs.chromium.org/chromium/src/v8/src/interpreter/interpreter.cc?l=277&rcl=5bf6b8221240ae424bb2b19713bec7534125b9c5> >> is failing. That code has been there since 71 though. >> >> On Mon, Jul 15, 2019 at 7:37 PM Christopher Nelson <nadias...@gmail.com> >> wrote: >> >>> I have found that actually, the problem is that DEBUG builds now throw >>> this error on Linux, whereas release builds are fine. I have tried to >>> determine if there are any flags my app needs to have or to omit when >>> linking against the monolithic V8 lib on linux for debug. Any help would be >>> appreciated! >>> >>> On Friday, July 12, 2019 at 4:54:39 PM UTC-4, Christopher Nelson wrote: >>>> >>>> >>>> I have the following code, which works fine on v8 7.2: >>>> >>>> isolate::isolate() { >>>> create_params.array_buffer_allocator = >>>> v8 >>>> ::ArrayBuffer::Allocator::NewDefaultAllocator(); >>>> i = v8:: >>>> Isolate::New(create_params); >>>> i->SetData(0, >>>> this); >>>> } >>>> >>>> >>>> However, when run on 7.3+ it yields this: >>>> >>>> #0 __memmove_sse2_unaligned_erms () at >>>> ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:321 >>>> #1 0x00007ffff7dc66d9 in std::__1::basic_string<char, >>>> std::__1::char_traits<char>, std::__1::allocator<char> >::append(char >>>> const*, unsigned long) () from /lib/x86_64-linux-gnu/libc++.so.1 >>>> #2 0x00000000044bbd79 in operator+<char, std::__1::char_traits<char>, >>>> std::__1::allocator<char> > () at >>>> ../../buildtools/third_party/libc++/trunk/include/string:4147 >>>> #3 operator() () at ../../src/interpreter/interpreter.cc:277 >>>> #4 __invoke<(lambda at ../../src/interpreter/interpreter.cc:270:19) &, >>>> v8::internal::interpreter::Bytecode, >>>> v8::internal::interpreter::OperandScale> () at >>>> ../../buildtools/third_party/libc++/trunk/include/type_traits:4353 >>>> #5 __call<(lambda at ../../src/interpreter/interpreter.cc:270:19) &, >>>> v8::internal::interpreter::Bytecode, >>>> v8::internal::interpreter::OperandScale> () at >>>> ../../buildtools/third_party/libc++/trunk/include/__functional_base:349 >>>> #6 operator() () at >>>> ../../buildtools/third_party/libc++/trunk/include/functional:1527 >>>> #7 __call_impl<std::__1::__function::__alloc_func<(lambda at >>>> ../../src/interpreter/interpreter.cc:270:19), std::__1::allocator<(lambda >>>> at ../../src/interpreter/interpreter.cc:270:19)>, void >>>> (v8::internal::interpreter::Bytecode, >>>> v8::internal::interpreter::OperandScale)> > () at >>>> ../../buildtools/third_party/libc++/trunk/include/functional:2010 >>>> #8 0x00000000044ba5f4 in operator() () at >>>> ../../buildtools/third_party/libc++/trunk/include/functional:2123 >>>> #9 operator() () at >>>> ../../buildtools/third_party/libc++/trunk/include/functional:2347 >>>> #10 ForEachBytecode () at ../../src/interpreter/interpreter.cc:251 >>>> #11 0x00000000044ba834 in Initialize () at >>>> ../../src/interpreter/interpreter.cc:270 >>>> #12 0x000000000452aa8b in Init () at ../../src/isolate.cc:3336 >>>> #13 0x00000000048f72da in Initialize () at >>>> ../../src/snapshot/snapshot-common.cc:50 >>>> #14 0x0000000003e2c492 in Initialize () at ../../src/api.cc:8174 >>>> #15 0x0000000003e2ca2f in New () at ../../src/api.cc:8196 >>>> #16 0x0000000003d986bc in hiram::js::isolate::isolate >>>> (this=0x7fffffffcf38) at ../../../../../engine/src/js/isolate.cpp:20 >>>> #17 0x0000000003c93997 in ____C_A_T_C_H____T_E_S_T____6 () at >>>> ../../../../../engine/test/test_element_node.cpp:62 >>>> #18 0x0000000003be6b33 in Catch::TestInvokerAsFunction::invoke >>>> (this=0x7326650) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11841 >>>> #19 0x0000000003be16d6 in Catch::TestCase::invoke (this=0x738eb00) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11742 >>>> #20 0x0000000003be160a in Catch::RunContext::invokeActiveTestCase >>>> (this=0x7fffffffd7c8) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10601 >>>> #21 0x0000000003be0164 in Catch::RunContext::runCurrentTest >>>> (this=0x7fffffffd7c8, redirectedCout=..., redirectedCerr=...) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10574 >>>> #22 0x0000000003bdf4fc in Catch::RunContext::runTest >>>> (this=0x7fffffffd7c8, testCase=...) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10344 >>>> #23 0x0000000003be39fd in Catch::(anonymous namespace)::runTests >>>> (config=...) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10903 >>>> #24 0x0000000003be34b2 in Catch::Session::runInternal >>>> (this=0x7fffffffdb50) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11098 >>>> #25 0x0000000003be322b in Catch::Session::run (this=0x7fffffffdb50) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11055 >>>> #26 0x0000000003c1257a in Catch::Session::run<char> >>>> (this=0x7fffffffdb50, argc=1, argv=0x7fffffffdda8) at >>>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10801 >>>> #27 0x0000000003bf4c58 in main (argc=1, argv=0x7fffffffdda8) at >>>> ../../../../../engine/test/main.cpp:25 >>>> >>>> I am building on Linux using clang 8, with the following parameters: >>>> >>>> v8_build_args = [ >>>> 'target_cpu="x64"', >>>> 'is_component_build = false', >>>> 'v8_enable_i18n_support = false', >>>> 'v8_enable_backtrace = true', >>>> 'v8_enable_disassembler = true', >>>> 'v8_enable_object_print = true', >>>> 'v8_enable_verify_heap = true', >>>> 'v8_use_snapshot = true', >>>> 'v8_use_external_startup_data = false', >>>> 'v8_monolithic = true', >>>> ] >>>> >>>> Any help would be much appreciated. >>>> >>> -- >>> -- >>> 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-u...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/v8-users/d33b8070-2762-448e-b256-9df272d02224%40googlegroups.com >>> <https://groups.google.com/d/msgid/v8-users/d33b8070-2762-448e-b256-9df272d02224%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > -- > 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/fad078d3-d8d3-4dab-b451-51145ad1ff62%40googlegroups.com > <https://groups.google.com/d/msgid/v8-users/fad078d3-d8d3-4dab-b451-51145ad1ff62%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- -- 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/CAH3p7oOKYCWiBaGBH8jbs0rM1Sweie5-%3DJnPPSPZ9MGkaU3whQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.