Skip to content

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

Closed
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions