https://github.com/python/cpython/commit/47b0f8f2972facc29ec33f1f0b353784ff94b709
commit: 47b0f8f2972facc29ec33f1f0b353784ff94b709
branch: 3.13
author: Miss Islington (bot) <31488909+miss-isling...@users.noreply.github.com>
committer: vstinner <vstin...@python.org>
date: 2024-11-29T10:52:21Z
summary:

[3.13] gh-126881: fix finalization of dtoa state (GH-126904) (#127395)

gh-126881: fix finalization of dtoa state (GH-126904)
(cherry picked from commit 762c603a866146afc7db2591fb49605e0858e9b1)

Co-authored-by: Kumar Aditya <kumaradi...@python.org>

files:
A 
Misc/NEWS.d/next/Core_and_Builtins/2024-11-16-11-11-35.gh-issue-126881.ijofLZ.rst
M Python/pylifecycle.c

diff --git 
a/Misc/NEWS.d/next/Core_and_Builtins/2024-11-16-11-11-35.gh-issue-126881.ijofLZ.rst
 
b/Misc/NEWS.d/next/Core_and_Builtins/2024-11-16-11-11-35.gh-issue-126881.ijofLZ.rst
new file mode 100644
index 00000000000000..13381c7630d7ce
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Core_and_Builtins/2024-11-16-11-11-35.gh-issue-126881.ijofLZ.rst
@@ -0,0 +1 @@
+Fix crash in finalization of dtoa state. Patch by Kumar Aditya.
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 0cd4fb417636a2..8fe5bb8b3007d9 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -1869,7 +1869,6 @@ finalize_interp_clear(PyThreadState *tstate)
     _PyXI_Fini(tstate->interp);
     _PyExc_ClearExceptionGroupType(tstate->interp);
     _Py_clear_generic_types(tstate->interp);
-    _PyDtoa_Fini(tstate->interp);
 
     /* Clear interpreter state and all thread states */
     _PyInterpreterState_Clear(tstate);
@@ -1891,6 +1890,9 @@ finalize_interp_clear(PyThreadState *tstate)
 
     finalize_interp_types(tstate->interp);
 
+    /* Finalize dtoa at last so that finalizers calling repr of float doesn't 
crash */
+    _PyDtoa_Fini(tstate->interp);
+
     /* Free any delayed free requests immediately */
     _PyMem_FiniDelayed(tstate->interp);
 

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: arch...@mail-archive.com

Reply via email to