]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.12] gh-105699: Fix a Crasher Related to a Deprecated Global Variable (gh-106923...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 21 Jul 2023 20:27:52 +0000 (13:27 -0700)
committerGitHub <noreply@github.com>
Fri, 21 Jul 2023 20:27:52 +0000 (22:27 +0200)
commit957f14d0decb7aa5723d5ed8c4d16abad40547b0
tree0b3f7f8b79f86f3c8fe1b7bbcd3a856634f99dea
parentffc7678f4683a63180c1321334c76e9b3e09b0a5
[3.12] gh-105699: Fix a Crasher Related to a Deprecated Global Variable (gh-106923) (#106964)

gh-105699: Fix a Crasher Related to a Deprecated Global Variable (gh-106923)

There was a slight race in _Py_ClearFileSystemEncoding() (when called from _Py_SetFileSystemEncoding()), between freeing the value and setting the variable to NULL, which occasionally caused crashes when multiple isolated interpreters were used.  (Notably, I saw at least 10 different, seemingly unrelated spooky-action-at-a-distance, ways this crashed. Yay, free threading!)  We avoid the problem by only setting the global variables with the main interpreter (i.e. runtime init).
(cherry picked from commit 0ba07b2108d4763273f3fb85544dde34c5acd40a)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
Misc/NEWS.d/next/Core and Builtins/2023-07-20-12-21-37.gh-issue-105699.08ywGV.rst [new file with mode: 0644]
Objects/unicodeobject.c