From 62842c9ff592114ade3049d6a85aea031b783beb Mon Sep 17 00:00:00 2001 From: "Miss Islington (bot)" <31488909+miss-islington@users.noreply.github.com> Date: Fri, 26 Jun 2026 14:11:14 +0200 Subject: [PATCH] [3.15] gh-152156: Fix a crash in `interpeters.create` under limited memory conditions (GH-152163) (#152269) gh-152156: Fix a crash in `interpeters.create` under limited memory conditions (GH-152163) (cherry picked from commit 3ad66bf10dbb929bcf8efd889e56a9b9068319ca) Co-authored-by: sobolevn --- .../Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst | 2 ++ Modules/_interpchannelsmodule.c | 6 ++---- 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst diff --git a/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst b/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst new file mode 100644 index 000000000000..30e561274dc5 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2026-06-25-10-07-54.gh-issue-152156.gscPU9.rst @@ -0,0 +1,2 @@ +Fix a possible crash in :func:`concurrent.interpreters.create` under limited +memory conditions. diff --git a/Modules/_interpchannelsmodule.c b/Modules/_interpchannelsmodule.c index 3614890757d6..05957081079d 100644 --- a/Modules/_interpchannelsmodule.c +++ b/Modules/_interpchannelsmodule.c @@ -2951,10 +2951,8 @@ channelsmod_create(PyObject *self, PyObject *args, PyObject *kwds) &cidobj); if (handle_channel_error(err, self, cid)) { assert(cidobj == NULL); - err = channel_destroy(&_globals.channels, cid); - if (handle_channel_error(err, self, cid)) { - // XXX issue a warning? - } + assert(PyErr_Occurred()); + (void)channel_destroy(&_globals.channels, cid); return NULL; } assert(cidobj != NULL); -- 2.47.3