Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-76785: Add an Internal ExceptionSnapshot Type #111572

Conversation

ericsnowcurrently
Copy link
Member

@ericsnowcurrently ericsnowcurrently commented Oct 31, 2023

This will be used by _xxsubinterpretersmodule.c in a follow-up PR, though it should have utility on its own.

exctype = PyExc_RuntimeError;
}

_Py_excinfo_Apply(&self->info, exctype);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is this function defined?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In Python/errors.c.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah I see, I needed to refresh my branch.

This looks like a DIY serialisation of exceptions. Does it work for all exception types? What if the args to the exception constructor are not just the msg string?

ericsnowcurrently added a commit that referenced this pull request Nov 6, 2023
…1715)

I added _Py_excinfo to the internal API (and added its functions in Python/errors.c) in gh-111530 (9322ce9).  Since then I've had a nagging sense that I should have added the type and functions in its own PR.  While I do plan on using _Py_excinfo outside crossinterp.c very soon (see gh-111572/gh-111573), I'd still feel more comfortable if the _Py_excinfo stuff went in as its own PR.  Hence, here we are.

(FWIW, I may combine that with gh-111572, which I may, in turn, combine with gh-111573.  We'll see.)
hugovk pushed a commit to hugovk/cpython that referenced this pull request Nov 8, 2023
…ythongh-111715)

I added _Py_excinfo to the internal API (and added its functions in Python/errors.c) in pythongh-111530 (9322ce9).  Since then I've had a nagging sense that I should have added the type and functions in its own PR.  While I do plan on using _Py_excinfo outside crossinterp.c very soon (see pythongh-111572/pythongh-111573), I'd still feel more comfortable if the _Py_excinfo stuff went in as its own PR.  Hence, here we are.

(FWIW, I may combine that with pythongh-111572, which I may, in turn, combine with pythongh-111573.  We'll see.)
@ericsnowcurrently ericsnowcurrently deleted the crossinterp-utils-exc-snapshot branch November 23, 2023 00:49
aisk pushed a commit to aisk/cpython that referenced this pull request Feb 11, 2024
…ythongh-111715)

I added _Py_excinfo to the internal API (and added its functions in Python/errors.c) in pythongh-111530 (9322ce9).  Since then I've had a nagging sense that I should have added the type and functions in its own PR.  While I do plan on using _Py_excinfo outside crossinterp.c very soon (see pythongh-111572/pythongh-111573), I'd still feel more comfortable if the _Py_excinfo stuff went in as its own PR.  Hence, here we are.

(FWIW, I may combine that with pythongh-111572, which I may, in turn, combine with pythongh-111573.  We'll see.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants