Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    confirmed-bugIssues and PRs for 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