https://github.com/python/cpython/commit/33948e7231a500e3d736c6bfc9f162d11c78f597
commit: 33948e7231a500e3d736c6bfc9f162d11c78f597
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: pablogsal <[email protected]>
date: 2026-07-07T00:05:43Z
summary:
[3.13] gh-153068: Preserve cprofile enable errors (GH-153070) (#153240)
files:
A Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
M Lib/test/test_cprofile.py
M Modules/_lsprof.c
diff --git a/Lib/test/test_cprofile.py b/Lib/test/test_cprofile.py
index acead07d507e4b..c2d9dcab09ed9e 100644
--- a/Lib/test/test_cprofile.py
+++ b/Lib/test/test_cprofile.py
@@ -116,8 +116,9 @@ def test_second_profiler(self):
pr = self.profilerclass()
pr2 = self.profilerclass()
pr.enable()
- self.assertRaises(ValueError, pr2.enable)
- pr.disable()
+ self.addCleanup(pr.disable)
+ msg = f"tool {sys.monitoring.PROFILER_ID} is already in use"
+ self.assertRaisesRegex(ValueError, msg, pr2.enable)
def test_throw(self):
"""
diff --git
a/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
b/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
new file mode 100644
index 00000000000000..accf6e99cd6434
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2026-07-05-16-09-31.gh-issue-153068.huY9Jh.rst
@@ -0,0 +1,2 @@
+Fix :meth:`!cProfile.Profile.enable` to no longer overwrite errors from
+:mod:`sys.monitoring`.
diff --git a/Modules/_lsprof.c b/Modules/_lsprof.c
index f23f254c0aa0db..fcd856f1035d6c 100644
--- a/Modules/_lsprof.c
+++ b/Modules/_lsprof.c
@@ -759,7 +759,6 @@ profiler_enable(ProfilerObject *self, PyObject *args,
PyObject *kwds)
"use_tool_id", "is",
self->tool_id, "cProfile");
if (check == NULL) {
- PyErr_Format(PyExc_ValueError, "Another profiling tool is already
active");
goto error;
}
Py_DECREF(check);
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]