To get debug symbols, you need a Debug build of V8 (or at least a Release
build with symbols). You can compile one yourself, see
https://v8.dev/docs/build-gn.

If possible, recreating the situation in a desktop application will
probably make debugging easier -- but I realize that for debugging a large
existing Android application, that might not be an option.

Is there a way for you to see stdout/stderr? V8_Fatal should print a
message before terminating the process, which should indicate which CHECK
has failed.


On Wed, Mar 13, 2019 at 7:33 AM Alexey Shcherbyna <alexshcher...@gmail.com>
wrote:

> Hi Jacob, thank you for response.
>
> I understood the main error because I tried to use libv8-nosnapshot from
> old v8 version. I use v8 7.2.504, I have removed old no snapshot and added
> libv8_external_snapshot from this repository
>
> https://github.com/NativeScript/android-runtime
>
> https://github.com/NativeScript/android-runtime/tree/master/test-app/runtime/src/main/libs/arm64-v8a
> (they have updated to 7.3.4xx today
>
>
> I run it on Android device so I am not sure how to use debug  or enable
> symbols, I would appreciate very much if you could suggest where to find
> info how to do that.
>
> After I removed nosnapshot and added external snapshot , I see different
> error on the same place on gc moment
>
>
> v8::base::OS::Abort() 0x000000736b999598
> V8_Fatal(char const*, int, char const*, ...) 0x000000736b99873c
> v8::internal::GlobalHandles::InvokeFirstPassWeakCallbacks()
> 0x000000736b2cd1a8
> v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector,
> v8::GCCallbackFlags) 0x000000736b2d8148
> v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace,
> v8::internal::GarbageCollectionReason, v8::GCCallbackFlags)
> 0x000000736b2d6894
> v8::internal::Heap::HandleGCRequest() 0x000000736b2d58c0
> v8::internal::StackGuard::HandleInterrupts() 0x000000736b2a57bc
> v8::internal::Runtime_StackGuard(int, unsigned long*,
> v8::internal::Isolate*) 0x000000736b7fffb4
> Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit
> 0x000000736b91d16c
> <unknown> 0x000000735aea743c
> Builtins_InterpreterEntryTrampoline 0x000000736b870794
> And so on "Trampolines"
> ...
>
> Any suggestion appreciated very much
> Thank you
>
>
> вторник, 5 марта 2019 г., 4:24:19 UTC+2 пользователь Jakob Kummerow
> написал:
>>
>> Runtime_StackGuard is the mechanism by which execution of (interpreted or
>> optimized) JavaScript code is interrupted by C++ code. From the next few
>> stack frames you can deduce the reason an interruption was requested:
>> generated code had performed enough allocations that it was time to do a
>> round of GC.
>>
>> The stack guard triggering mechanism is unrelated to the bug. The top 3
>> frames tell you that you've run into a CHECK/DCHECK failure in
>> DispatchPendingPhantomCallbacks; so the problem is likely related to weak
>> persistent handles with finalizer callbacks. The current V8 source doesn't
>> even have that function any more, and you didn't specify which version of
>> V8 you're using, so I can't make any further guesses. With a Debug (or at
>> least symbol-enabled) build you should be able to figure out which check is
>> failing, which should provide some information about where the bug is.
>>
>>
>> On Sun, Mar 3, 2019 at 10:03 AM Alexey Shcherbyna <alexsh...@gmail.com>
>> wrote:
>>
>>> Hi group
>>>
>>> I try to figure out possible issues in game engine using updated V8.
>>> Runtime_StackGuard error caught sometimes if run all functions together
>>> without pauses. Complete stack trace is
>>>
>>> v8::base::OS::Abort() 0x0000007375db9dec
>>> V8_Fatal(char const*, int, char const*, ...) 0x0000007375db9010
>>> v8::internal::GlobalHandles::DispatchPendingPhantomCallbacks(bool)
>>> 0x00000073757f49a0
>>> v8::internal::GlobalHandles::PostGarbageCollectionProcessing(v8::
>>> internal::GarbageCollector, v8::GCCallbackFlags) 0x00000073757f49f0
>>> v8::internal::Heap::PerformGarbageCollection(v8::internal::
>>> GarbageCollector, v8::GCCallbackFlags) 0x00000073757fe868
>>> v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::
>>> internal::GarbageCollectionReason, v8::GCCallbackFlags)
>>> 0x00000073757fcfc4
>>> v8::internal::Heap::HandleGCRequest() 0x00000073757fc068
>>> v8::internal::StackGuard::HandleInterrupts() 0x00000073757cca98
>>> v8::internal::Runtime_StackGuard(int, v8::internal::Object**, v8::
>>> internal::Isolate*) 0x0000007375d58e9c
>>> <unknown> 0x000000735a55c74c
>>> ...
>>>
>>>
>>>
>>> I understand that it is related either to gc incremental marking or to
>>> wrong Locker used somewhere or both. I try to find why this type of errors
>>> is called by can not figure out why. Please give me some tips why this
>>> usually happens.
>>>
>>> --
>>> --
>>> 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.
>>> 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.
> 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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to