Skip to content
Discussion options

You must be logged in to vote

Julian, that lldb trace is the answer. 🎯

frame #0: node::BlobDeserializer<SeaDeserializer>::ReadArithmetic<unsigned long>() + 472
frame #1: node::sea::FindSingleExecutableResource()::$_0::operator()()
frame #2: node::sea::FindSingleExecutableResource()
frame #3: node::sea::FixupArgsForSEA(int, char**)
frame #4: node::Start(int, char**)

The crash is inside FindSingleExecutableResource — that's the SEA blob header parser, running before V8 is even initialized. ReadArithmetic<unsigned long> is reading an 8-byte length field from the blob and getting 0x936c6f6734a0218f back — pure garbage, then used as a pointer → EXC_BAD_ACCESS.

Translation: Node 22.22.2 cannot parse the SEA blob header tha…

Replies: 4 comments 20 replies

Comment options

You must be logged in to vote
1 reply
@julianpoemp
Comment options

Comment options

You must be logged in to vote
2 replies
@robertsLando
Comment options

@julianpoemp
Comment options

Comment options

You must be logged in to vote
17 replies
@julianpoemp
Comment options

@robertsLando
Comment options

@julianpoemp
Comment options

@robertsLando
Comment options

Answer selected by robertsLando
@julianpoemp
Comment options

@robertsLando
Comment options

@julianpoemp
Comment options

@robertsLando
Comment options

Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants