Skip to content

gh-76785: Add an Internal ExceptionSnapshot Type - #111572

Closed
ericsnowcurrently wants to merge 7 commits into
python:mainfrom
ericsnowcurrently:crossinterp-utils-exc-snapshot
Closed

gh-76785: Add an Internal ExceptionSnapshot Type#111572
ericsnowcurrently wants to merge 7 commits into
python:mainfrom
ericsnowcurrently:crossinterp-utils-exc-snapshot

Conversation

@ericsnowcurrently

@ericsnowcurrentlyericsnowcurrently commented Oct 31, 2023

Copy link
Copy Markdown
Member

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

Comment threadObjects/exceptions.c
exctype = PyExc_RuntimeError;
}

_Py_excinfo_Apply(&self->info, exctype);

Copy link
Copy Markdown
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
Copy Markdown
MemberAuthor

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
Copy Markdown
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
ericsnowcurrentlyforce-pushed the crossinterp-utils-exc-snapshot branch from b8ea359 to 29affcdCompareNovember 3, 2023 22:35
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.)
@ericsnowcurrently
ericsnowcurrentlyforce-pushed the crossinterp-utils-exc-snapshot branch from 29affcd to b9f7974CompareNovember 6, 2023 19:13
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.)
Glyphack pushed a commit to Glyphack/cpython that referenced this pull request Sep 2, 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 freeto 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.

2 participants

@ericsnowcurrently@iritkatriel