# # Fatal error in ../deps/v8/src/objects-inl.h, line 1117 # Check failed: IsNumber(). # ==== C stack trace =============================== 1: V8_Fatal 2: v8::internal::Object::Number() 3: v8::Value::IntegerValue(v8::Local) const 4: v8::Value::IntegerValue() const 5: node::Parser::on_headers_complete_() 6: node::Parser::on_headers_complete(http_parser*) 7: http_parser_execute 8: node::Parser::Execute(char*, unsigned long) 9: node::Parser::Execute(v8::FunctionCallbackInfo const&) 10: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo const&)) 11: v8::internal::MaybeHandle v8::internal::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>&) 12: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::(anonymous namespace)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>, v8::internal::Isolate*) 13: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) 14: 0xa0f18d068fb 15: 0xa0f196f9e88 16: 0xa0f196fc6bb Illegal instruction: 4 Process 84109 stopped * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) frame #0: 0x0000000100bc2bb1 node`v8::base::OS::Abort() at platform-posix.cc:229 226 227 void OS::Abort() { 228 if (g_hard_abort) { -> 229 V8_IMMEDIATE_CRASH(); 230 } 231 // Redirect to std abort to signal abnormal program termination. 232 abort(); (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) * frame #0: 0x0000000100bc2bb1 node`v8::base::OS::Abort() at platform-posix.cc:229 frame #1: 0x0000000100bbe1e9 node`::V8_Fatal(file="../deps/v8/src/objects-inl.h", line=1117, format="Check failed: %s.") at logging.cc:116 frame #2: 0x00000001002088a1 node`v8::internal::Object::Number(this=0x1baddead0baddeaf) at objects-inl.h:1117 frame #3: 0x00000001002399c6 node`v8::Value::IntegerValue(this=0x00000001028047b8, context=(val_ = 0x00000001028047c0)) const at api.cc:3273 frame #4: 0x0000000100239b27 node`v8::Value::IntegerValue(this=0x00000001028047b8) const at api.cc:3286 frame #5: 0x0000000100b0ff43 node`node::Parser::on_headers_complete_(this=0x00000001140c7600) at node_http_parser.cc:298 frame #6: 0x0000000100b0ce19 node`node::Parser::on_headers_complete(p_=0x00000001140c7628) at node_http_parser.cc:225 frame #7: 0x0000000100b9424e node`http_parser_execute(parser=0x00000001140c7628, settings=0x000000010128d1a8, data="\r\nbsocket", len=2) at http_parser.c:1811 frame #8: 0x0000000100b10a93 node`node::Parser::Execute(this=0x00000001140c7600, data="\r\nbsocket", len=2) at node_http_parser.cc:612 frame #9: 0x0000000100b0e6f4 node`node::Parser::Execute(args=0x00007fff5fbf1fd0) at node_http_parser.cc:412 frame #10: 0x000000010028524c node`v8::internal::FunctionCallbackArguments::Call(this=0x00007fff5fbf2118, f=(node`node::Parser::Execute(v8::FunctionCallbackInfo const&) at node_http_parser.cc:395))(v8::FunctionCallbackInfo const&)) at arguments.cc:33 frame #11: 0x00000001002d0862 node`v8::internal::MaybeHandle v8::internal::HandleApiCallHelper(isolate=0x0000000103800000, args=0x00007fff5fbf2298)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>&) at builtins.cc:1092 frame #12: 0x00000001002dc2e3 node`v8::internal::Builtin_Impl_HandleApiCall(args=v8::internal::(anonymous namespace)::HandleApiCallArgumentsType @ 0x00007fff5fbf2298, isolate=0x0000000103800000)::BuiltinArguments<(v8::internal::BuiltinExtraArguments)1>, v8::internal::Isolate*) at builtins.cc:1115 frame #13: 0x00000001002d0e90 node`v8::internal::Builtin_HandleApiCall(args_length=5, args_object=0x00007fff5fbf2350, isolate=0x0000000103800000) at builtins.cc:1111 frame #14: 0x00000a0f18d068fb frame #15: 0x00000a0f196f9e88 frame #16: 0x00000a0f196fc6bb frame #17: 0x00000a0f196fc425 frame #18: 0x00000a0f19b4a2e4 frame #19: 0x00000a0f1b0ef632 frame #20: 0x00000a0f18e1fe43 frame #21: 0x00000a0f18d067fa frame #22: 0x00000a0f1aea29bd frame #23: 0x00000a0f1a02f54e frame #24: 0x00000a0f18d067fa frame #25: 0x00000a0f1b1cb81d frame #26: 0x00000a0f18d067fa frame #27: 0x00000a0f18d2e799 frame #28: 0x00000a0f18d1ffa2 frame #29: 0x0000000100534d36 node`v8::internal::Invoke(is_construct=false, function=Handle @ 0x00007fff5fbf29f0, receiver=Handle @ 0x00007fff5fbf29e8, argc=3, args=0x00007fff5fbf3040) at execution.cc:128 frame #30: 0x0000000100534547 node`v8::internal::Execution::Call(isolate=0x0000000103800000, callable=Handle @ 0x00007fff5fbf2a90, receiver=Handle @ 0x00007fff5fbf2a88, argc=3, argv=0x00007fff5fbf3040, convert_receiver=true) at execution.cc:179 frame #31: 0x00000001002448e3 node`v8::Function::Call(this=0x0000000102804688, context=(val_ = 0x00000001028046a8), recv=(val_ = 0x00000001028046a0), argc=3, argv=0x00007fff5fbf3040) at api.cc:4413 frame #32: 0x0000000100244a31 node`v8::Function::Call(this=0x0000000102804688, recv=(val_ = 0x00000001028046a0), argc=3, argv=0x00007fff5fbf3040) at api.cc:4423 frame #33: 0x0000000100aba4f9 node`node::AsyncWrap::MakeCallback(this=0x000000010d1dce70, cb=(val_ = 0x0000000102804688), argc=3, argv=0x00007fff5fbf3040) at async-wrap.cc:336 frame #34: 0x0000000100abd4a6 node`node::AsyncWrap::MakeCallback(this=0x000000010d1dce70, symbol=(val_ = 0x0000000103844368), argc=3, argv=0x00007fff5fbf3040) at async-wrap-inl.h:37 frame #35: 0x0000000100b28f57 node`node::StreamBase::EmitData(this=0x000000010d1dce70, nread=2, buf=(val_ = 0x0000000102804668), handle=(val_ = 0x0000000000000000)) at stream_base.cc:424 frame #36: 0x0000000100b61a0e node`node::TLSWrap::OnReadSelf(nread=2, buf=0x00007fff5fbf3178, pending=UV_UNKNOWN_HANDLE, ctx=0x000000010d1dce70) at tls_wrap.cc:692 frame #37: 0x0000000100aca717 node`node::StreamResource::OnRead(this=0x000000010d1dce70, nread=2, buf=0x00007fff5fbf3178, pending=UV_UNKNOWN_HANDLE) at stream_base.h:173 frame #38: 0x0000000100b62ce6 node`node::TLSWrap::ClearOut(this=0x000000010d1dce70) at tls_wrap.cc:428 frame #39: 0x0000000100b621dc node`node::TLSWrap::Cycle(this=0x000000010d1dce70) at tls_wrap.h:103 frame #40: 0x0000000100b6448e node`node::TLSWrap::DoRead(this=0x000000010d1dce70, nread=768, buf=0x00007fff5fbf73f8, pending=UV_UNKNOWN_HANDLE) at tls_wrap.cc:733 frame #41: 0x0000000100b61843 node`node::TLSWrap::OnReadImpl(nread=768, buf=0x00007fff5fbf73f8, pending=UV_UNKNOWN_HANDLE, ctx=0x000000010d1dce70) at tls_wrap.cc:667 frame #42: 0x0000000100aca717 node`node::StreamResource::OnRead(this=0x000000010d1d3ee0, nread=768, buf=0x00007fff5fbf73f8, pending=UV_UNKNOWN_HANDLE) at stream_base.h:173 frame #43: 0x0000000100b2e03f node`node::StreamWrap::OnReadCommon(handle=0x000000010d1d3f90, nread=768, buf=0x00007fff5fbf73f8, pending=UV_UNKNOWN_HANDLE) at stream_wrap.cc:251 frame #44: 0x0000000100b2dad4 node`node::StreamWrap::OnRead(handle=0x000000010d1d3f90, nread=768, buf=0x00007fff5fbf73f8) at stream_wrap.cc:266 frame #45: 0x0000000100bb07a3 node`uv__read(stream=0x000000010d1d3f90) at stream.c:1192 frame #46: 0x0000000100bac45c node`uv__stream_io(loop=0x00000001012bf200, w=0x000000010d1d4018, events=1) at stream.c:1259 frame #47: 0x0000000100bbb104 node`uv__io_poll(loop=0x00000001012bf200, timeout=0) at kqueue.c:276 frame #48: 0x0000000100b9dedf node`uv_run(loop=0x00000001012bf200, mode=UV_RUN_ONCE) at core.c:354 frame #49: 0x0000000100adbecb node`node::StartNodeInstance(arg=0x00007fff5fbff8d8) at node.cc:4359 frame #50: 0x0000000100adb778 node`node::Start(argc=4, argv=0x0000000102606a70) at node.cc:4438 frame #51: 0x0000000100b1190e node`main(argc=4, argv=0x00007fff5fbff9a0) at node_main.cc:49 frame #52: 0x0000000100000a34 node`start + 52 (lldb) up frame #1: 0x0000000100bbe1e9 node`::V8_Fatal(file="../deps/v8/src/objects-inl.h", line=1117, format="Check failed: %s.") at logging.cc:116 113 v8::base::OS::PrintError("\n#\n"); 114 v8::base::DumpBacktrace(); 115 fflush(stderr); -> 116 v8::base::OS::Abort(); 117 } (lldb) up frame #2: 0x00000001002088a1 node`v8::internal::Object::Number(this=0x1baddead0baddeaf) at objects-inl.h:1117 1114 1115 1116 double Object::Number() { -> 1117 DCHECK(IsNumber()); 1118 return IsSmi() 1119 ? static_cast(reinterpret_cast(this)->value()) 1120 : reinterpret_cast(this)->value(); (lldb) frame v (v8::internal::Object *) this = 0x1baddead0baddeaf (lldb) up frame #3: 0x00000001002399c6 node`v8::Value::IntegerValue(this=0x00000001028047b8, context=(val_ = 0x00000001028047c0)) const at api.cc:3273 3270 RETURN_ON_FAILED_EXECUTION_PRIMITIVE(int64_t); 3271 } 3272 return Just(num->IsSmi() ? static_cast(i::Smi::cast(*num)->value()) -> 3273 : static_cast(num->Number())); 3274 } 3275 3276 (lldb) frame v (const v8::Value *) this = 0x00000001028047b8 (v8::Local) context = (val_ = 0x00000001028047c0) (v8::internal::Handle) obj = { location_ = 0x00000001028047b8 } (v8::internal::Handle) num = { location_ = 0x00000001028047f0 } (lldb) up frame #4: 0x0000000100239b27 node`v8::Value::IntegerValue(this=0x00000001028047b8) const at api.cc:3286 3283 return static_cast(obj->Number()); 3284 } 3285 } -> 3286 return IntegerValue(ContextFromHeapObject(obj)).FromMaybe(0); 3287 } 3288 3289 (lldb) frame v (const v8::Value *) this = 0x00000001028047b8 (v8::internal::Handle) obj = { location_ = 0x00000001028047b8 } (lldb) up frame #5: 0x0000000100b0ff43 node`node::Parser::on_headers_complete_(this=0x00000001140c7600) at node_http_parser.cc:298 295 return -1; 296 } 297 -> 298 return head_response->IntegerValue(); 299 } 300 301 (lldb) frame v (node::Parser *) this = 0x00000001140c7600 (v8::Local [9]) argv = { [0] = (val_ = 0x0000000102804790) [1] = (val_ = 0x0000000102804798) [2] = (val_ = 0x00000001028046f0) [3] = (val_ = 0x0000000103800060) [4] = (val_ = 0x0000000103800060) [5] = (val_ = 0x0000000102804780) [6] = (val_ = 0x0000000102804788) [7] = (val_ = 0x0000000103800078) [8] = (val_ = 0x0000000103800078) } (v8::Local) obj = (val_ = 0x000000010916b060) (v8::Local) cb = (val_ = 0x00000001028046e0) (v8::Local) undefined = (val_ = 0x0000000103800060) (AsyncCallbackScope) callback_scope = { env_ = 0x0000000103843600 } (v8::Local) head_response = (val_ = 0x00000001028047b8) (lldb) up frame #6: 0x0000000100b0ce19 node`node::Parser::on_headers_complete(p_=0x00000001140c7628) at node_http_parser.cc:225 222 } 223 224 -> 225 HTTP_CB(on_headers_complete) { 226 // Arguments for the on-headers-complete javascript callback. This 227 // list needs to be kept in sync with the actual argument list for 228 // `parserOnHeadersComplete` in lib/_http_common.js. (lldb) frame v (http_parser *) p_ = 0x00000001140c7628 (node::Parser *) self = 0x00000001140c7600 (lldb) up frame #7: 0x0000000100b9424e node`http_parser_execute(parser=0x00000001140c7628, settings=0x000000010128d1a8, data="\r\nbsocket", len=2) at http_parser.c:1811 1808 * we have to simulate it by handling a change in errno below. 1809 */ 1810 if (settings->on_headers_complete) { -> 1811 switch (settings->on_headers_complete(parser)) { 1812 case 0: 1813 break; 1814 (lldb) print parser (http_parser *) $0 = 0x00000001140c7628 (lldb) print *parser (http_parser) $1 = { type = 1 flags = 40 state = 49 header_state = 0 index = 0 lenient_http_headers = 0 nread = 206 content_length = 18446744073709551615 http_major = 1 http_minor = 1 status_code = 101 method = 0 http_errno = 0 upgrade = 1 data = 0x0000000104000498 } (lldb) const Address kHandleZapValue = reinterpret_cast
(V8_UINT64_C(0x1baddead0baddeaf));