Skip to content

n-api: add missing handle scopes - #24011

Closed
danbev wants to merge 1 commit into
nodejs:masterfrom
danbev:napi-missing-handle-scopes
Closed

n-api: add missing handle scopes#24011
danbev wants to merge 1 commit into
nodejs:masterfrom
danbev:napi-missing-handle-scopes

Conversation

@danbev

Copy link
Copy Markdown
Contributor

Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:

$ out/Debug/node test/addons-napi/test_threadsafe_function/test.jsFATAL ERROR: v8::HandleScope::CreateHandle() Cannot create a handle without a HandleScope 1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node] 2: 0x1000cd37b node::Abort() [/node/out/Debug/node] 3: 0x1000cd69f node::OnFatalError(char const*, char const*) [/node/out/Debug/node] 4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*) [/nodejs/node/out/Debug/node] 5: 0x100a8c0a9 v8::internal::HandleScope::Extend( v8::internal::Isolate*) [/node/out/Debug/node] 6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*, int, bool, char const*) [/node/out/Debug/node] 7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int) [/node/out/Debug/node] 8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int) [/node/out/Debug/node] 9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>) [/node/out/Debug/node]10: 0x1000f49e2 napi_env__::node_env() const [/node/out/Debug/node]11: 0x1000f9885 (anonymous namespace)::v8impl::ThreadSafeFunction:: CloseHandlesAndMaybeDelete(bool) [/node/out/Debug/node]12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction:: DispatchOne() [/node/out/Debug/node]13: 0x1000fb129 (anonymous namespace)::v8impl::ThreadSafeFunction:: IdleCb(uv_idle_s*) [/node/out/Debug/node]14: 0x1011a1b69 uv__run_idle [/node/out/Debug/node]15: 0x101198179 uv_run [/node/out/Debug/node]16: 0x1000dfca1 node::Start(...) [/node/out/Debug/node]17: 0x1000dae50 node::Start(...) [/node/out/Debug/node]18: 0x1000da56f node::Start(int, char**) [/node/out/Debug/node]19: 0x10141112e main [/node/out/Debug/node]20: 0x100001034 start [/node/out/Debug/node]Abort trap: 6

This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.

SlowGetAlignedPointerFromEmbedderData will only be called for debug builds.

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

@nodejs-github-botnodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. node-api Issues and PRs related to the Node-API. labels Nov 1, 2018
@danbev

Copy link
Copy Markdown
ContributorAuthor

@mhdawsonmhdawson left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Trott

Trott commented Nov 4, 2018

Copy link
Copy Markdown
Member

Landed in 315b1c6

@TrottTrott closed this Nov 4, 2018
Trott pushed a commit to Trott/io.js that referenced this pull request Nov 4, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: nodejs#24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@danbev
danbev deleted the napi-missing-handle-scopes branch November 5, 2018 05:20
targos pushed a commit that referenced this pull request Nov 5, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@BridgeARBridgeAR mentioned this pull request Nov 14, 2018
codebytere pushed a commit that referenced this pull request Nov 29, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
MylesBorins pushed a commit that referenced this pull request Nov 29, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@codebyterecodebytere mentioned this pull request Nov 29, 2018
MylesBorins pushed a commit that referenced this pull request Dec 3, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
gabrielschulhof pushed a commit to gabrielschulhof/node that referenced this pull request Dec 28, 2018
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
PR-URL: nodejs#24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
MylesBorins pushed a commit that referenced this pull request Jan 18, 2019
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
Backport-PR-URL: #25002
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
rvagg pushed a commit that referenced this pull request Feb 28, 2019
Currently when building with --debug
test/addons-napi/test_threadsafe_function will error:
$ out/Debug/node test/addons-napi/test_threadsafe_function/test.js
FATAL ERROR: v8::HandleScope::CreateHandle()
Cannot create a handle without a HandleScope
1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
3: 0x1000cd69f node::OnFatalError(char const*, char const*)
[/node/out/Debug/node]
4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
[/nodejs/node/out/Debug/node]
5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
v8::internal::Isolate*)
[/node/out/Debug/node]
6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
int, bool,
char const*)
[/node/out/Debug/node]
7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
[/node/out/Debug/node]
9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
[/node/out/Debug/node]
10: 0x1000f49e2 napi_env__::node_env() const
[/node/out/Debug/node]
11: 0x1000f9885
(anonymous namespace)::v8impl::ThreadSafeFunction::
CloseHandlesAndMaybeDelete(bool)
[/node/out/Debug/node]
12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
DispatchOne()
[/node/out/Debug/node]
13: 0x1000fb129
(anonymous namespace)::v8impl::ThreadSafeFunction::
IdleCb(uv_idle_s*)
[/node/out/Debug/node]
14: 0x1011a1b69 uv__run_idle
[/node/out/Debug/node]
15: 0x101198179 uv_run
[/node/out/Debug/node]
16: 0x1000dfca1
node::Start(...)
[/node/out/Debug/node]
17: 0x1000dae50 node::Start(...)
[/node/out/Debug/node]
18: 0x1000da56f node::Start(int, char**)
[/node/out/Debug/node]
19: 0x10141112e main
[/node/out/Debug/node]
20: 0x100001034 start
[/node/out/Debug/node]
Abort trap: 6
This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
and one to the lambda.
SlowGetAlignedPointerFromEmbedderData will only be called for debug
builds:
https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
/include/v8.h#L10440-L10447
Backport-PR-URL: #25002
PR-URL: #24011
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
@MylesBorinsMylesBorins mentioned this pull request Mar 26, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++Issues and PRs that require attention from people who are familiar with C++.node-apiIssues and PRs related to the Node-API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants

@danbev@nodejs-github-bot@Trott@jasnell@mhdawson@codebytere