You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I discovered this while running the nan test suite against Electron on our CI (we run tests with DCHECKs enabled). Just to cover my bases I ran the same nan tests against a Debug build of node and the same DCHECKs were hit.
#
# Fatal error in ../deps/v8/src/api-inl.h, line 126
# Debug check failed: allow_empty_handle || that != nullptr.
#
#
#
#FailureMessage Object: 0x7ffeefbfc2a0not ok test/js/nannew-test.js ......................... 22/23
Command: "/Users/sattard/projects/nodejs/node/out/Debug/node nannew-test.js"
TAP version 13
ok 1 ../cpp/nannew.cpp:61: New<Array>()->Length() == 0
ok 2 ../cpp/nannew.cpp:62: New<Array>(7)->Length() == 7
ok 3 ../cpp/nannew.cpp:63: assertType<Array>(New<Array>(7))
ok 4 ../cpp/nannew.cpp:73: New<Boolean>(true)->Value() == true
ok 5 ../cpp/nannew.cpp:74: New<Boolean>(false)->Value() == false
ok 6 ../cpp/nannew.cpp:75: assertType<Boolean>( New<Boolean>(true))
ok 7 ../cpp/nannew.cpp:77: New(true)->Value() == true
ok 8 ../cpp/nannew.cpp:78: New(false)->Value() == false
ok 9 ../cpp/nannew.cpp:79: assertType<Boolean>( New(true))
ok 10 ../cpp/nannew.cpp:94: assertType<BooleanObject>( New<BooleanObject>(true))
ok 11 ../cpp/nannew.cpp:95: New<BooleanObject>(true)->ValueOf() == true
ok 12 ../cpp/nannew.cpp:96: New<BooleanObject>(false)->ValueOf() == false
ok 13 ../cpp/nannew.cpp:106: assertType<Context>( New<Context>())
ok 14 ../cpp/nannew.cpp:108: assertType<Context>( New<Context>(&extensions))
ok 15 ../cpp/nannew.cpp:111: assertType<Context>( New<Context>(static_cast<ExtensionConfiguration *>(__null) , Local<ObjectTemplate>()))
ok 16 ../cpp/nannew.cpp:113: assertType<Context>( New<Context>(&extensions, Local<ObjectTemplate>()))
ok 17 ../cpp/nannew.cpp:116: assertType<Context>( New<Context>(&extensions , Local<ObjectTemplate>(), Local<Value>()))
ok 18 ../cpp/nannew.cpp:127: assertType<Date>( New<Date>(static_cast<double>(time(__null))).ToLocalChecked())
ok 19 ../cpp/nannew.cpp:139: New<External>(&ttt)->Value() == &ttt
ok 20 ../cpp/nannew.cpp:140: assertType<External>(New<External>(&ttt))
ok 21 ../cpp/nannew.cpp:149: assertType<Function>(New<Function>(testFunction))
ok 22 ../cpp/nannew.cpp:151: assertType<Function>(New<Function>(testFunction, data))
not ok 23 test/js/nannew-test.js
---
exit: ~
signal: SIGILL
stderr: |
#
# Fatal error in ../deps/v8/src/api-inl.h, line 126
# Debug check failed: allow_empty_handle || that != nullptr.
#
#
#
#FailureMessage Object: 0x7ffeefbfc2a0
command: "/Users/sattard/projects/nodejs/node/out/Debug/node nannew-test.js"
...
1..23
# tests 23
# pass 22
# fail 1
The same tests pass in Release builds (as DCHECKs are disabled) but I think some time should be spent figuring out what is going wrong here as V8 clearly isn't happy with what is happening 🤔
To reproduce with a local build of node with a directory structure of
nodejs
/ node
/ nan
# Build node + headerscd nodejs/node
./configure --debug
make -j4
make tar-headers
tar -xzf node-v13.0.0-headers.tar.gz
cd ../nan
# Build nan test modules with right headers
npm_config_nodedir=$(pwd)/../node/node-v13.0.0 npx node-gyp rebuild --directory test# Run nan tests with built version of node
../node/out/Debug/node node_modules/.bin/tap test/js/*-test.js
Note that although the example above uses HEAD of node (v13) I have reproed with v12 as well (which is what Electron currently ships)
The text was updated successfully, but these errors were encountered:
I discovered this while running the
nan
test suite against Electron on our CI (we run tests with DCHECKs enabled). Just to cover my bases I ran the same nan tests against aDebug
build of node and the same DCHECKs were hit.The same tests pass in Release builds (as DCHECKs are disabled) but I think some time should be spent figuring out what is going wrong here as V8 clearly isn't happy with what is happening 🤔
To reproduce with a local build of node with a directory structure of
Note that although the example above uses
HEAD
of node (v13) I have reproed with v12 as well (which is what Electron currently ships)The text was updated successfully, but these errors were encountered: