Closed
Description
- Version: master
- Platform: Windows 10 Professional x64 with VS Enterprise 2017
Debug builds fail with the following error message at runtime:
Debug Assertion Failed!
Program: F:\node\Debug\node.exe
File: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827\include\vector
Line: 1795
Expression: vector subscript out of range
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
eeede3b seems to be the cause:
$ git bisect bad
eeede3b19c8bdb78605764eec75bea327c9014ff is the first bad commit
commit eeede3b19c8bdb78605764eec75bea327c9014ff
Author: Anatoli Papirovski <apapirovski@mac.com>
Date: Fri Jan 19 15:42:59 2018 -0500
domain: further abstract usage in C++
Move the majority of C++ domain-related code into JS land by introducing
a top level domain callback which handles entering & exiting the domain.
Move the rest of the domain necessities into their own file that creates
an internal binding, to avoid exposing domain-related code on the
process object.
Modify an existing test slightly to better test domain-related code.
PR-URL: https://github.com/nodejs/node/pull/18291
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
:040000 040000 ac00216479ea70b9f02f551c2ba42b7f102d9822 c2bd6707358b1291744dab0adcd0d59b817df47c M lib
:100644 100644 80418b3a8a6f703bef625b8927be1a46a67719a6 36efe80f7a210760c56110334f38770fdacb85cd M node.gyp
:040000 040000 8d4c82ad33e2b6f6b5836043b96d4c7ce937de5b 470ab7f8ab07abc3dde339d15aceef553fee311c M src
:040000 040000 e55b59be4444e446a92d1d6d779d025dda0c8f93 36ab1072b7db18c8e80e869d7e74b739498fdeeb M test
Stack trace:
node.exe!std::_Debug_message(const wchar_t * message, const wchar_t * file, unsigned int line) Zeile 17
node.exe!std::vector<v8::Local<v8::Value>,std::allocator<v8::Local<v8::Value> > >::operator[](const unsigned __int64 _Pos) Zeile 1795
> node.exe!node::InternalMakeCallback(node::Environment * env, v8::Local<v8::Object> recv, const v8::Local<v8::Function> callback, int argc, v8::Local<v8::Value> * argv, node::async_context asyncContext) Zeile 1005
node.exe!node::MakeCallback(v8::Isolate * isolate, v8::Local<v8::Object> recv, v8::Local<v8::Function> callback, int argc, v8::Local<v8::Value> * argv, node::async_context asyncContext) Zeile 1070
node.exe!node::Environment::CheckImmediate(uv_check_s * handle) Zeile 322
node.exe!uv_check_invoke(uv_loop_s * loop) Zeile 121
node.exe!uv_run(uv_loop_s * loop, uv_run_mode mode) Zeile 514
node.exe!node::Start(v8::Isolate * isolate, node::IsolateData * isolate_data, int argc, const char * const * argv, int exec_argc, const char * const * exec_argv) Zeile 4407
node.exe!node::Start(uv_loop_s * event_loop, int argc, const char * const * argv, int exec_argc, const char * const * exec_argv) Zeile 4476
node.exe!node::Start(int argc, char * * argv) Zeile 4533
node.exe!wmain(int argc, wchar_t * * wargv) Zeile 73
cc @apapirovski