]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-137992: fix `PyRefTracer_SetTracer` to start world before returning (#138925)
authorKumar Aditya <kumaraditya@python.org>
Mon, 15 Sep 2025 14:39:15 +0000 (20:09 +0530)
committerGitHub <noreply@github.com>
Mon, 15 Sep 2025 14:39:15 +0000 (15:39 +0100)
fix deadlock in PyRefTracer_SetTracer

Objects/object.c

index c9bcc0c7b09e639d61825dc63dd78a47f986e4f6..1f10c2531fead1b86aad2715ec9dfdf5bfcfe4f2 100644 (file)
@@ -3292,6 +3292,7 @@ int PyRefTracer_SetTracer(PyRefTracer tracer, void *data) {
     if (_PyRuntime.ref_tracer.tracer_func != NULL) {
         _PyReftracerTrack(NULL, PyRefTracer_TRACKER_REMOVED);
         if (PyErr_Occurred()) {
+            _PyEval_StartTheWorldAll(&_PyRuntime);
             return -1;
         }
     }