Skip to content

fatal v8 error:Entering the V8 API without proper locking in place  #23997

Closed
@lolobug

Description

@lolobug
stack :
signal 6 (SIGABRT), code -6 (?), fault addr 00004d37
#00  pc 0x39acc  /system/lib/libc.so (tgkill+12)
#01  pc 0x13dad  /system/lib/libc.so (pthread_kill+52)
#02  pc 0x14a27  /system/lib/libc.so (raise+10)
#03  pc 0x11145  /system/lib/libc.so (???)
#04  pc 0xf6ac  /system/lib/libc.so (abort+4)
#05  pc 0x37291  /data/app/com.xxxx-1/lib/arm/libj2v8.so (???)
#06  pc 0x3943ed  /data/app/com.xxxx-1/lib/arm/libv8.so (v8::HandleScope::Initialize(v8::Isolate*)+100)
#07  pc 0x394381  /data/app/com.xxxx-1/lib/arm/libv8.so (v8::HandleScope::HandleScope(v8::Isolate*)+4)
#08  pc 0xbccdc  /data/app/com.xxxx-1/lib/arm/libnode.so (node::Environment::CheckImmediate(uv_check_s*)+40)
  • Version:10.3.0
  • Platform:android:
    Subsystem:

V8 fatat handler message : Entering the V8 API without proper locking in place (HandleScope::HandleScope)
This occurs by chance.

I noticed :

uv_check_start(immediate_check_handle(), CheckImmediate);

Actually I place all the operations of node in a single thread and use a V8::Locker.
Is it possible that the CheckImmediate will switch to another thread?

there's V8 HandleScope::Initialize code:

Utils::ApiCheck(
  !v8::Locker::IsActive() ||
  internal_isolate->thread_manager()->IsLockedByCurrentThread() ||
   internal_isolate->serializer_enabled(),
   "HandleScope::HandleScope",
   "Entering the V8 API without proper locking in place");

Metadata

Metadata

Assignees

No one assigned

    Labels

    c++Issues and PRs that require attention from people who are familiar with C++.embeddingIssues and PRs related to embedding Node.js in another project.v8 engineIssues and PRs related to the V8 dependency.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions