Skip to content

node_mksnapshot debug build segfault #53446

@legendecas

Description

@legendecas

Version

main branch

Platform

Darwin 23.5.0 Darwin Kernel Version 23.5.0: Wed May 1 20:12:58 PDT 2024; root:xnu-10063.121.3~5/RELEASE_ARM64_T6000 arm64

Subsystem

mksnapshot

What steps will reproduce the bug?

./configure
make BUILDTYPE=Debug

How often does it reproduce? Is there a required condition?

always

What is the expected behavior? Why is that the expected behavior?

No response

What do you see instead?

SIGSEGV on node_mksnapshot

node_mksnapshot!v8::internal::Isolate::set_current_vm_state(v8::StateTag) (/Volumes/K/Developer/nodejs/node/deps/v8/src/execution/isolate.h:1451)
node_mksnapshot!v8::internal::VMState<(v8::StateTag)5>::VMState(v8::internal::Isolate*) (/Volumes/K/Developer/nodejs/node/deps/v8/src/execution/vm-state-inl.h:46)
node_mksnapshot!v8::internal::VMState<(v8::StateTag)5>::VMState(v8::internal::Isolate*) (/Volumes/K/Developer/nodejs/node/deps/v8/src/execution/vm-state-inl.h:45)
node_mksnapshot!v8::FunctionTemplate::New(v8::Isolate*, void (*)(v8::FunctionCallbackInfo<v8::Value> const&), v8::Local<v8::Value>, v8::Local<v8::Signature>, int, v8::ConstructorBehavior, v8::SideEffectType, v8::CFunction const*, unsigned short, unsigned short, unsigned short) (/Volumes/K/Developer/nodejs/node/deps/v8/src/api/api.cc:1359)
node_mksnapshot!node::NewFunctionTemplate(v8::Isolate*, void (*)(v8::FunctionCallbackInfo<v8::Value> const&), v8::Local<v8::Signature>, v8::ConstructorBehavior, v8::SideEffectType, v8::CFunction const*) (/Volumes/K/Developer/nodejs/node/src/util.cc:378)
node_mksnapshot!node::StreamBase::AddMethod(v8::Isolate*, v8::Local<v8::Signature>, v8::PropertyAttribute, v8::Local<v8::FunctionTemplate>, void (*)(v8::FunctionCallbackInfo<v8::Value> const&), v8::Local<v8::String>) (/Volumes/K/Developer/nodejs/node/src/stream_base.cc:502)
node_mksnapshot!node::StreamBase::AddMethods(node::IsolateData*, v8::Local<v8::FunctionTemplate>) (/Volumes/K/Developer/nodejs/node/src/stream_base.cc:524)
node_mksnapshot!node::fs::CreatePerIsolateProperties(node::IsolateData*, v8::Local<v8::ObjectTemplate>) (/Volumes/K/Developer/nodejs/node/src/node_file.cc:3229)
node_mksnapshot!_register_isolate_fs(node::IsolateData*, v8::Local<v8::ObjectTemplate>) (/Volumes/K/Developer/nodejs/node/src/node_file.cc:3318)
node_mksnapshot!node::binding::CreateInternalBindingTemplates(node::IsolateData*) (/Volumes/K/Developer/nodejs/node/src/node_binding.cc:587)
node_mksnapshot!node::IsolateData::CreateProperties() (/Volumes/K/Developer/nodejs/node/src/env.cc:517)
node_mksnapshot!node::IsolateData::IsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::SnapshotData const*) (/Volumes/K/Developer/nodejs/node/src/env.cc:591)
node_mksnapshot!node::IsolateData::IsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::SnapshotData const*) (/Volumes/K/Developer/nodejs/node/src/env.cc:538)
node_mksnapshot!node::CreateIsolateData(v8::Isolate*, uv_loop_s*, node::MultiIsolatePlatform*, node::ArrayBufferAllocator*, node::EmbedderSnapshotData const*) (/Volumes/K/Developer/nodejs/node/src/api/environment.cc:409)
node_mksnapshot!node::CommonEnvironmentSetup::CommonEnvironmentSetup(node::MultiIsolatePlatform*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, node::EmbedderSnapshotData const*, unsigned int, std::__1::function<node::Environment* (node::CommonEnvironmentSetup const*)>, node::SnapshotConfig const*) (/Volumes/K/Developer/nodejs/node/src/api/embed_helpers.cc:157)
node_mksnapshot!node::CommonEnvironmentSetup::CommonEnvironmentSetup(node::MultiIsolatePlatform*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, node::EmbedderSnapshotData const*, unsigned int, std::__1::function<node::Environment* (node::CommonEnvironmentSetup const*)>, node::SnapshotConfig const*) (/Volumes/K/Developer/nodejs/node/src/api/embed_helpers.cc:110)
node_mksnapshot!node::CommonEnvironmentSetup::CreateForSnapshotting(node::MultiIsolatePlatform*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, node::SnapshotConfig const&) (/Volumes/K/Developer/nodejs/node/src/api/embed_helpers.cc:201)
node_mksnapshot!node::BuildSnapshotWithoutCodeCache(node::SnapshotData*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::optional<std::__1::basic_string_view<char, std::__1::char_traits<char>>>, node::SnapshotConfig const&) (/Volumes/K/Developer/nodejs/node/src/node_snapshotable.cc:977)
node_mksnapshot!node::SnapshotBuilder::Generate(node::SnapshotData*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::optional<std::__1::basic_string_view<char, std::__1::char_traits<char>>>, node::SnapshotConfig const&) (/Volumes/K/Developer/nodejs/node/src/node_snapshotable.cc:1067)
node_mksnapshot!node::SnapshotBuilder::GenerateAsSource(char const*, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, node::SnapshotConfig const&, bool) (/Volumes/K/Developer/nodejs/node/src/node_snapshotable.cc:1227)

Additional information

Bisected to #51362.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to build files or the CI.macosIssues and PRs related to the macOS platform / OSX.snapshotIssues and PRs related to the startup snapshot

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions