Skip to content

Segmentation fault on v8::internal::AllocationTracker::AllocationEvent #28841

@orgads

Description

@orgads

When running a leaky load test, node crashes after a while with the following stack trace (package obtained from official nodesource repo):

* thread #1, name = 'node', stop reason = signal SIGSEGV
  * frame #0: 0x00000000010c663d node`v8::internal::AllocationTracker::AllocationEvent(unsigned long, int) + 141
    frame #1: 0x0000000000efc9a2 node`v8::internal::Heap::AllocateRaw(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) + 146
    frame #2: 0x0000000000f038b2 node`v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) + 34
    frame #3: 0x0000000000ecbbb5 node`v8::internal::Factory::AllocateRawWithImmortalMap(int, v8::internal::PretenureFlag, v8::internal::Map*, v8::internal::AllocationAlignment) (.constprop.141) + 37
    frame #4: 0x0000000000ed0874 node`v8::internal::Factory::NewByteArray(int, v8::internal::PretenureFlag) + 52
    frame #5: 0x0000000000e5acfe node`v8::internal::TranslatedState::AllocateStorageFor(v8::internal::TranslatedValue*) + 30
    frame #6: 0x0000000000e5afd3 node`v8::internal::TranslatedState::EnsureJSObjectAllocated(v8::internal::TranslatedValue*, v8::internal::Handle<v8::internal::Map>) + 67
    frame #7: 0x0000000000e66c0a node`v8::internal::TranslatedState::EnsureCapturedObjectAllocatedAt(int, std::stack<int, std::deque<int, std::allocator<int> > >*) + 746
    frame #8: 0x0000000000e65bca node`v8::internal::TranslatedState::EnsureObjectAllocatedAt(v8::internal::TranslatedValue*) + 570
    frame #9: 0x0000000000e65cd4 node`v8::internal::TranslatedValue::GetValue() + 100
    frame #10: 0x0000000000e65d79 node`v8::internal::Deoptimizer::MaterializeHeapObjects() + 105
    frame #11: 0x0000000001145915 node`v8::internal::Runtime_NotifyDeoptimized(int, v8::internal::Object**, v8::internal::Isolate*) + 181
    frame #12: 0x000022cf1fa5be1d
    frame #13: 0x000022cf1fa12883
    frame #14: 0x000022cf1fa11da0
    frame #15: 0x000022cf1fa0a5c3
    frame #16: 0x000022cf1fa12a60
    frame #17: 0x000022cf1fa11da0
    frame #18: 0x000022cf1fa118d5
    frame #19: 0x000022cf1fa118d5
    frame #20: 0x000022cf1fa118d5
    frame #21: 0x000022cf1fadb05a
    frame #22: 0x000022cf1fa70f3f
    frame #23: 0x000022cf1fa0a5c3
    frame #24: 0x000022cf1fa118d5
    frame #25: 0x000022cf1fa118d5
    frame #26: 0x000022cf1fa118d5
    frame #27: 0x000022cf1fa0ee75
    frame #28: 0x000022cf1fa092c1
    frame #29: 0x0000000000e9eb33 node`v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) + 259
    frame #30: 0x0000000000b25a99 node`v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 377
    frame #31: 0x0000000000b25c51 node`v8::Function::Call(v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 65
    frame #32: 0x00000000008c8d79 node`node::InternalCallbackScope::Close() + 521
    frame #33: 0x00000000008fb437 node`node::InternalMakeCallback(node::Environment*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*, node::async_context) + 359
    frame #34: 0x00000000008c3419 node`node::AsyncWrap::MakeCallback(v8::Local<v8::Function>, int, v8::Local<v8::Value>*) + 137
    frame #35: 0x00000000009c8824 node`node::StreamBase::CallJSOnreadMethod(long, v8::Local<v8::Object>) + 212
    frame #36: 0x00000000009c88f3 node`node::EmitToJSStreamListener::OnStreamRead(long, uv_buf_t const&) + 147
    frame #37: 0x0000000000a2b03f node`node::TLSWrap::ClearOut() + 207
    frame #38: 0x0000000000a2b718 node`node::TLSWrap::OnStreamRead(long, uv_buf_t const&) + 168
    frame #39: 0x00000000009cebe1 node`node::LibuvStreamWrap::ReadStart()::'lambda0'(uv_stream_s*, long, uv_buf_t const*)::_FUN(uv_stream_s*, long, uv_buf_t const*) + 161
    frame #40: 0x0000000000a7a769 node`uv__read(stream=0x0000000003ff6d98) at stream.c:1234
    frame #41: 0x0000000000a7ad90 node`uv__stream_io(loop=<unavailable>, w=0x0000000003ff6e20, events=1) at stream.c:1301
    frame #42: 0x0000000000a80738 node`uv__io_poll(loop=0x000000000264f860, timeout=0) at linux-core.c:379
    frame #43: 0x0000000000a6f7cb node`uv_run(loop=0x000000000264f860, mode=UV_RUN_DEFAULT) at core.c:364
    frame #44: 0x0000000000904525 node`node::Start(v8::Isolate*, node::IsolateData*, std::vector<std::string, std::allocator<std::string> > const&, std::vector<std::string, std::allocator<std::string> > const&) + 1381
    frame #45: 0x000000000090272c node`node::Start(int, char**) + 1180
    frame #46: 0x00007f8f25874b97 libc.so.6`__libc_start_main + 231
    frame #47: 0x00000000008bbc65 node`_start + 41

I have a coredump (~340M). Let me know if it can help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions