Re: [v8-users] Re: v8::Isolate::New works on 7.2, fails on 7.3+

2019-07-15 Thread Jakob Gruber
Looks like allocation of the new string here

is failing. That code has been there since 71 though.

On Mon, Jul 15, 2019 at 7:37 PM Christopher Nelson 
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  0x77dc66d9 in std::__1::basic_string> std::__1::char_traits, std::__1::allocator >::append(char
>> const*, unsigned long) () from /lib/x86_64-linux-gnu/libc++.so.1
>> #2  0x044bbd79 in operator+,
>> std::__1::allocator > () 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> ../../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  0x044ba5f4 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 0x044ba834 in Initialize () at
>> ../../src/interpreter/interpreter.cc:270
>> #12 0x0452aa8b in Init () at ../../src/isolate.cc:3336
>> #13 0x048f72da in Initialize () at
>> ../../src/snapshot/snapshot-common.cc:50
>> #14 0x03e2c492 in Initialize () at ../../src/api.cc:8174
>> #15 0x03e2ca2f in New () at ../../src/api.cc:8196
>> #16 0x03d986bc in hiram::js::isolate::isolate
>> (this=0x7fffcf38) at ../../../../../engine/src/js/isolate.cpp:20
>> #17 0x03c93997 in C_A_T_C_HT_E_S_T6 () at
>> ../../../../../engine/test/test_element_node.cpp:62
>> #18 0x03be6b33 in Catch::TestInvokerAsFunction::invoke
>> (this=0x7326650) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11841
>> #19 0x03be16d6 in Catch::TestCase::invoke (this=0x738eb00) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11742
>> #20 0x03be160a in Catch::RunContext::invokeActiveTestCase
>> (this=0x7fffd7c8) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10601
>> #21 0x03be0164 in Catch::RunContext::runCurrentTest
>> (this=0x7fffd7c8, redirectedCout=..., redirectedCerr=...) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10574
>> #22 0x03bdf4fc in Catch::RunContext::runTest
>> (this=0x7fffd7c8, testCase=...) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10344
>> #23 0x03be39fd in Catch::(anonymous namespace)::runTests
>> (config=...) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10903
>> #24 0x03be34b2 in Catch::Session::runInternal
>> (this=0x7fffdb50) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11098
>> #25 0x03be322b in Catch::Session::run (this=0x7fffdb50) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11055
>> #26 0x03c1257a in Catch::Session::run (this=0x7fffdb50,
>> argc=1, argv=0x7fffdda8) at
>> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10801
>> #27 0x03bf4c58 in main (argc=1, argv=

Re: [v8-users] Build for Android with libstdc++

2019-07-15 Thread Jaemin Park


>  
>
>>  
>>
>>> and the second one is when setting field to prototype 
>>> template(Template->PrototypeTemplate()->Set()).
>>>
>>> 07-15 13:42:24.488 23217 23318 E v8  : #
>>> 07-15 13:42:24.488 23217 23318 E v8  : # Fatal error in 
>>> ../../src/api.cc, line 1350
>>> 07-15 13:42:24.488 23217 23318 E v8  : #
>>> 07-15 13:42:24.488 23217 23318 E v8  : Check failed: 
>>> !value_obj->IsJSReceiver() || value_obj->IsTemplateInfo().
>>> 07-15 13:42:24.488 23217 23318 E v8  :
>>> 07-15 13:42:24.488 23217 23318 E v8  : #
>>> 07-15 13:42:24.488 23217 23318 E v8  : #
>>> 07-15 13:42:24.488 23217 23318 E v8  : #
>>> 07-15 13:42:24.488 23217 23318 E v8  : #FailureMessage Object: 
>>> 0x74f95f90e0
>>>
>>
>> This looks like you're passing an invalid value to the function. It must 
>> be a v8::Object or a v8::ObjectTemplate or a v8::FunctionTemplate.
>>
>>
> According to code and stack dump, value_obj should be v8::ObjectTemplate 
> or v8::FunctionTemplate. I am going to investigate which type of the object 
> is.
>  
>

My mistake, I checked out which value type makes check failure and it was 
v8::External, not template ones. But I don't know why this code works on 
windows platform 

 

-- 
-- 
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/0d8c426b-9498-405e-a25c-500b443f379d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[v8-users] Limit execution time to 1ms

2019-07-15 Thread Jaka Jančar
Hi,

Is there any way to limit execution time to 1ms? Calling timer_create() and 
RequestTermination() from another thread is ok for double-digit timeouts, but 
not high resolution enough for single digit ones. Is there some callback on 
isolate thread that could be used for clock_gettime()?

Jaka

-- 
-- 
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/90b3a47b-5a36-41b4-8e8e-4b5ce1801192%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[v8-users] Re: v8::Isolate::New works on 7.2, fails on 7.3+

2019-07-15 Thread Christopher Nelson
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  0x77dc66d9 in std::__1::basic_string std::__1::char_traits, std::__1::allocator >::append(char 
> const*, unsigned long) () from /lib/x86_64-linux-gnu/libc++.so.1
> #2  0x044bbd79 in operator+, 
> std::__1::allocator > () 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 ../../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  0x044ba5f4 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 0x044ba834 in Initialize () at 
> ../../src/interpreter/interpreter.cc:270
> #12 0x0452aa8b in Init () at ../../src/isolate.cc:3336
> #13 0x048f72da in Initialize () at 
> ../../src/snapshot/snapshot-common.cc:50
> #14 0x03e2c492 in Initialize () at ../../src/api.cc:8174
> #15 0x03e2ca2f in New () at ../../src/api.cc:8196
> #16 0x03d986bc in hiram::js::isolate::isolate 
> (this=0x7fffcf38) at ../../../../../engine/src/js/isolate.cpp:20
> #17 0x03c93997 in C_A_T_C_HT_E_S_T6 () at 
> ../../../../../engine/test/test_element_node.cpp:62
> #18 0x03be6b33 in Catch::TestInvokerAsFunction::invoke 
> (this=0x7326650) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11841
> #19 0x03be16d6 in Catch::TestCase::invoke (this=0x738eb00) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11742
> #20 0x03be160a in Catch::RunContext::invokeActiveTestCase 
> (this=0x7fffd7c8) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10601
> #21 0x03be0164 in Catch::RunContext::runCurrentTest 
> (this=0x7fffd7c8, redirectedCout=..., redirectedCerr=...) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10574
> #22 0x03bdf4fc in Catch::RunContext::runTest (this=0x7fffd7c8, 
> testCase=...) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10344
> #23 0x03be39fd in Catch::(anonymous namespace)::runTests 
> (config=...) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10903
> #24 0x03be34b2 in Catch::Session::runInternal 
> (this=0x7fffdb50) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11098
> #25 0x03be322b in Catch::Session::run (this=0x7fffdb50) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:11055
> #26 0x03c1257a in Catch::Session::run (this=0x7fffdb50, 
> argc=1, argv=0x7fffdda8) at 
> ../../../../../.mm/linux/amd64/debug/include/catch2/catch.hpp:10801
> #27 0x03bf4c58 in main (argc=1, argv=0x7fffdda8) at 
> ../../../../../engine/test/main.cpp:25
>
> I am building on Linux using clang 8, with the foll

Re: [v8-users] Build for Android with libstdc++

2019-07-15 Thread Jaemin Park


2019년 7월 15일 월요일 오후 6시 5분 10초 UTC+9, Jakob Kummerow 님의 말:
>
> On Mon, Jul 15, 2019 at 10:05 AM Jaemin Park  > wrote:
>
>> I built it with these settings:
>> # Build arguments go here.
>> # See "gn args  --list" for available build arguments.
>> is_debug = true
>> android_full_debug = is_debug
>> is_component_build = false
>> target_os = "android"
>> target_cpu = "arm64"
>> use_custom_libcxx = false
>> use_custom_libcxx_for_host = true
>> use_allocator_shim = false
>> v8_enable_i18n_support = false
>> v8_use_external_startup_data = false
>> v8_use_snapshot = false
>> v8_static_library = true
>>
>  
> Are you sure you want v8_use_snapshot=false ? It massively slows down 
> startup while providing no benefit that I'm aware of.
>

It is not my intention. I will turn it on again if everything is fine.

 

>  
>
>> And I encountered two types of failures. The first one occurs when 
>> creating Isolate(Isolate::New).
>> 07-15 16:02:35.393  7153  7269 E v8  : #
>> 07-15 16:02:35.393  7153  7269 E v8  : # Fatal error in 
>> ../../src/handles.cc, line 86
>> 07-15 16:02:35.393  7153  7269 E v8  : #
>> 07-15 16:02:35.393  7153  7269 E v8  : Debug check failed: limit - 
>> current->next < kHandleBlockSize (1022 vs. 1022).
>> 07-15 16:02:35.393  7153  7269 E v8  :
>> 07-15 16:02:35.393  7153  7269 E v8  : #
>> 07-15 16:02:35.393  7153  7269 E v8  : #
>> 07-15 16:02:35.393  7153  7269 E v8  : #
>> 07-15 16:02:35.393  7153  7269 E v8  : #FailureMessage Object: 
>> 0x74f95e01a0
>>
>
> At first glance, one might suspect that this check should maybe check for 
> <= rather than <, but it's been this way since 2011, so presumably it's 
> working as intended (and, in fact, maybe ruling out the == case is 
> precisely the point here; I'm not familiar with this code). Can you 
> reproduce this without modifications to V8? Creating Isolates generally 
> works in Debug mode, so I wonder what might be different in your 
> environment.
>

The limit - current->next value varies. There are situations the value is 
larger than kHandleBlockSize when check failed. 
 

>  
>
>> and the second one is when setting field to prototype 
>> template(Template->PrototypeTemplate()->Set()).
>>
>> 07-15 13:42:24.488 23217 23318 E v8  : #
>> 07-15 13:42:24.488 23217 23318 E v8  : # Fatal error in 
>> ../../src/api.cc, line 1350
>> 07-15 13:42:24.488 23217 23318 E v8  : #
>> 07-15 13:42:24.488 23217 23318 E v8  : Check failed: 
>> !value_obj->IsJSReceiver() || value_obj->IsTemplateInfo().
>> 07-15 13:42:24.488 23217 23318 E v8  :
>> 07-15 13:42:24.488 23217 23318 E v8  : #
>> 07-15 13:42:24.488 23217 23318 E v8  : #
>> 07-15 13:42:24.488 23217 23318 E v8  : #
>> 07-15 13:42:24.488 23217 23318 E v8  : #FailureMessage Object: 
>> 0x74f95f90e0
>>
>
> This looks like you're passing an invalid value to the function. It must 
> be a v8::Object or a v8::ObjectTemplate or a v8::FunctionTemplate.
>
>
According to code and stack dump, value_obj should be v8::ObjectTemplate or 
v8::FunctionTemplate. I am going to investigate which type of the object is.
 

-- 
-- 
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/aef7ee1b-33b1-4fc7-9187-73f976e36892%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [v8-users] Build for Android with libstdc++

2019-07-15 Thread Jakob Kummerow
On Mon, Jul 15, 2019 at 10:05 AM Jaemin Park  wrote:

> I built it with these settings:
> # Build arguments go here.
> # See "gn args  --list" for available build arguments.
> is_debug = true
> android_full_debug = is_debug
> is_component_build = false
> target_os = "android"
> target_cpu = "arm64"
> use_custom_libcxx = false
> use_custom_libcxx_for_host = true
> use_allocator_shim = false
> v8_enable_i18n_support = false
> v8_use_external_startup_data = false
> v8_use_snapshot = false
> v8_static_library = true
>

Are you sure you want v8_use_snapshot=false ? It massively slows down
startup while providing no benefit that I'm aware of.


> And I encountered two types of failures. The first one occurs when
> creating Isolate(Isolate::New).
> 07-15 16:02:35.393  7153  7269 E v8  : #
> 07-15 16:02:35.393  7153  7269 E v8  : # Fatal error in
> ../../src/handles.cc, line 86
> 07-15 16:02:35.393  7153  7269 E v8  : #
> 07-15 16:02:35.393  7153  7269 E v8  : Debug check failed: limit -
> current->next < kHandleBlockSize (1022 vs. 1022).
> 07-15 16:02:35.393  7153  7269 E v8  :
> 07-15 16:02:35.393  7153  7269 E v8  : #
> 07-15 16:02:35.393  7153  7269 E v8  : #
> 07-15 16:02:35.393  7153  7269 E v8  : #
> 07-15 16:02:35.393  7153  7269 E v8  : #FailureMessage Object:
> 0x74f95e01a0
>

At first glance, one might suspect that this check should maybe check for <=
rather than <, but it's been this way since 2011, so presumably it's
working as intended (and, in fact, maybe ruling out the == case is
precisely the point here; I'm not familiar with this code). Can you
reproduce this without modifications to V8? Creating Isolates generally
works in Debug mode, so I wonder what might be different in your
environment.


> and the second one is when setting field to prototype
> template(Template->PrototypeTemplate()->Set()).
>
> 07-15 13:42:24.488 23217 23318 E v8  : #
> 07-15 13:42:24.488 23217 23318 E v8  : # Fatal error in
> ../../src/api.cc, line 1350
> 07-15 13:42:24.488 23217 23318 E v8  : #
> 07-15 13:42:24.488 23217 23318 E v8  : Check failed:
> !value_obj->IsJSReceiver() || value_obj->IsTemplateInfo().
> 07-15 13:42:24.488 23217 23318 E v8  :
> 07-15 13:42:24.488 23217 23318 E v8  : #
> 07-15 13:42:24.488 23217 23318 E v8  : #
> 07-15 13:42:24.488 23217 23318 E v8  : #
> 07-15 13:42:24.488 23217 23318 E v8  : #FailureMessage Object:
> 0x74f95f90e0
>

This looks like you're passing an invalid value to the function. It must be
a v8::Object or a v8::ObjectTemplate or a v8::FunctionTemplate.

-- 
-- 
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/CAKSzg3QZysk8Ad4V8%3DruXppM953kju-0Wkov%3D5D83enWN4xuAQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


[v8-users] Build for Android with libstdc++

2019-07-15 Thread Jaemin Park

Hi, I'm working on embedding v8 to Unreal Engine(UE4) application. As of 
now UE4 is still uses libstdc++ for Android, I had to build v8 with 
libstdc++ to match stdlib. I was able to build with minimal modification 
(as possible) of build script, but I experienced some runtime assurance 
failure.

At first, I'm working with 7.4.288 version of v8 and my modification to 
build with libstdc++ is as follows:

diff --git a/config/BUILDCONFIG.gn b/config/BUILDCONFIG.gn
index 9e843f3..6e718e1 100644
--- a/config/BUILDCONFIG.gn
+++ b/config/BUILDCONFIG.gn
@@ -438,7 +438,6 @@ default_compiler_configs = [
   "//build/config/compiler:no_exceptions",
   "//build/config/compiler:no_rtti",
   "//build/config/compiler:runtime_library",
-  "//build/config/compiler:thin_archive",
   "//build/config/coverage:default_coverage",
   "//build/config/sanitizers:default_sanitizer_flags",
 ]
diff --git a/config/android/BUILD.gn b/config/android/BUILD.gn
index b69d42b..c2c0897 100644
--- a/config/android/BUILD.gn
+++ b/config/android/BUILD.gn
@@ -27,6 +27,9 @@ config("compiler") {
 # Forces full rebuilds on NDK rolls. To rebuild everything when NDK 
version
 # stays the same, increment the suffix number.
 "ANDROID_NDK_VERSION_ROLL=${android_ndk_version}_1",
+"_GLIBCXX_USE_C99=1",
+"_GLIBCXX_HAVE_WCSTOF=1",
+"_GLIBCXX_USE_C99_MATH_TR1=1",
   ]

   if (current_cpu == "mips64el") {
@@ -109,6 +112,26 @@ config("runtime_library") {

 rebase_path("$android_ndk_root/sources/android/support/include",
 root_build_dir) ]

+  if (current_cpu == "arm") {
+cflags_cc += [
+  "-isystem" +
+  
rebase_path("$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/include",
+  root_build_dir),
+  "-isystem" +
+  
rebase_path("$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/include",
+  root_build_dir),
+]
+  } else if (current_cpu == "arm64") {
+cflags_cc += [
+  "-isystem" +
+  
rebase_path("$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/include",
+  root_build_dir),
+  "-isystem" +
+  
rebase_path("$android_ndk_root/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include",
+  root_build_dir),
+]
+  }
+
   defines = [
 "__GNU_SOURCE=1",  # Necessary for clone().
 "CHROMIUM_CXX_TWEAK_INLINES",  # Saves binary size.
diff --git a/config/compiler/BUILD.gn b/config/compiler/BUILD.gn
index 402dac4..ee3015a 100644
--- a/config/compiler/BUILD.gn
+++ b/config/compiler/BUILD.gn
@@ -1456,7 +1456,7 @@ config("default_warnings") {

   # Don't warn about "maybe" uninitialized. Clang doesn't include this
   # in -Wall but gcc does, and it gives false positives.
-  cflags += [ "-Wno-maybe-uninitialized" ]
+  cflags += [ "-Wno-uninitialized" ]
   cflags += [ "-Wno-deprecated-declarations" ]

   # -Wcomment gives too many false positives in the case a


I built it with these settings:
# Build arguments go here.
# See "gn args  --list" for available build arguments.
is_debug = true
android_full_debug = is_debug
is_component_build = false
target_os = "android"
target_cpu = "arm64"
use_custom_libcxx = false
use_custom_libcxx_for_host = true
use_allocator_shim = false
v8_enable_i18n_support = false
v8_use_external_startup_data = false
v8_use_snapshot = false
v8_static_library = true



And I encountered two types of failures. The first one occurs when creating 
Isolate(Isolate::New).
07-15 16:02:35.393  7153  7269 E v8  : #
07-15 16:02:35.393  7153  7269 E v8  : # Fatal error in 
../../src/handles.cc, line 86
07-15 16:02:35.393  7153  7269 E v8  : #
07-15 16:02:35.393  7153  7269 E v8  : Debug check failed: limit - 
current->next < kHandleBlockSize (1022 vs. 1022).
07-15 16:02:35.393  7153  7269 E v8  :
07-15 16:02:35.393  7153  7269 E v8  : #
07-15 16:02:35.393  7153  7269 E v8  : #
07-15 16:02:35.393  7153  7269 E v8  : #
07-15 16:02:35.393  7153  7269 E v8  : #FailureMessage Object: 
0x74f95e01a0


and the second one is when setting field to prototype 
template(Template->PrototypeTemplate()->Set()).

07-15 13:42:24.488 23217 23318 E v8  : #
07-15 13:42:24.488 23217 23318 E v8  : # Fatal error in 
../../src/api.cc, line 1350
07-15 13:42:24.488 23217 23318 E v8  : #
07-15 13:42:24.488 23217 23318 E v8  : Check failed: 
!value_obj->IsJSReceiver() || value_obj->IsTemplateInfo().
07-15 13:42:24.488 23217 23318 E v8  :
07-15 13:42:24.488 23217 23318 E v8  : #
07-15 13:42:24.488 23217 23318 E v8  : #
07-15 13:42:24.488 23217 23318 E v8  : #
07-15 13:42:24.488 23217 23318 E v8  : #FailureMessage Object: 
0x74f95f90e0


I know it's very limited information and the range of the question is broad 
to you. But I'd like to know where to start. I can provide more information 
if you need.

Thank you in advance!

-- 
-- 
v8-users mailing list
v8-us