8000 [3.13] gh-125842: Fix `sys.exit(0xffff_ffff)` on Windows (GH-125896) by miss-islington · Pull Request #125925 · python/cpython · GitHub
[go: up one dir, main page]

Skip to content

[3.13] gh-125842: Fix sys.exit(0xffff_ffff) on Windows (GH-125896) #125925

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

Merged
merged 1 commit into from
Oct 24, 2024

Conversation

miss-islington
Copy link
Contributor
@miss-islington miss-islington commented Oct 24, 2024

On Windows, long is a signed 32-bit integer so it can't represent
0xffff_ffff without overflow. Windows exit codes are unsigned 32-bit
integers, so if a child process exits with -1, it will be represented
as 0xffff_ffff.

Also fix a number of other possible cases where _Py_HandleSystemExit
could return with an exception set, leading to a SystemError (or
fatal error in debug builds) later on during shutdown.
(cherry picked from commit ad6110a)

Co-authored-by: Sam Gross colesbury@gmail.com

)

On Windows, `long` is a signed 32-bit integer so it can't represent
`0xffff_ffff` without overflow. Windows exit codes are unsigned 32-bit
integers, so if a child process exits with `-1`, it will be represented
as `0xffff_ffff`.

Also fix a number of other possible cases where `_Py_HandleSystemExit`
could return with an exception set, leading to a `SystemError` (or
fatal error in debug builds) later on during shutdown.
(cherry picked from commit ad6110a)

Co-authored-by: Sam Gross <colesbury@gmail.com>
@colesbury colesbury enabled auto-merge (squash) October 24, 2024 16:11
@colesbury colesbury merged commit 52b57ee into python:3.13 Oct 24, 2024
38 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0