Skip to content

FatalException handler SIGABRT from throw with .stack getter error #25718

Closed
@Fishrock123

Description

@Fishrock123
node -e "throw { get stack() { throw new Error('weird throw but ok') } }"

FATAL ERROR: v8::ToLocalChecked Empty MaybeLocal.
...

As discovered in #25715 but not strictly related to.

This is the line in question from the abort:

env->stack_string()).ToLocalChecked();

Basically, node::FatalException doesn't handle deep errors from .stack getters.

This is a pretty messy problem to fully deal with. It is possible to have a situation of infinitely recursing .stack getter errors, theoretically at least.

That being said... I doubt that any significant number of people will ever actually run into the more problematic cases, or maybe even the simple case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues with confirmed bugs.processIssues and PRs related to the process subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions