https://github.com/python/cpython/commit/7a8c3ed43abb4b7a18e7a271aaee3ca69c0d83bc
commit: 7a8c3ed43abb4b7a18e7a271aaee3ca69c0d83bc
branch: main
author: Ken Jin <[email protected]>
committer: gvanrossum <[email protected]>
date: 2024-02-20T18:47:05Z
summary:

gh-115735: Fix current executor NULL before _START_EXECUTOR (#115736)

This fixes level 3 or higher lltrace debug output `--with-pydebug` runs.

files:
M Python/ceval.c

diff --git a/Python/ceval.c b/Python/ceval.c
index 596d5f449c06fa..b7a5d629c9466b 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1008,7 +1008,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, 
_PyInterpreterFrame *frame, int
         uopcode = next_uop->opcode;
         DPRINTF(3,
                 "%4d: uop %s, oparg %d, operand %" PRIu64 ", target %d, 
stack_level %d\n",
-                (int)(next_uop - current_executor->trace),
+                (int)(next_uop - (current_executor == NULL ? next_uop : 
current_executor->trace)),
                 _PyUOpName(uopcode),
                 next_uop->oparg,
                 next_uop->operand,
@@ -1030,7 +1030,7 @@ _PyEval_EvalFrameDefault(PyThreadState *tstate, 
_PyInterpreterFrame *frame, int
             {
                 fprintf(stderr, "Unknown uop %d, oparg %d, operand %" PRIu64 " 
@ %d\n",
                         next_uop[-1].opcode, next_uop[-1].oparg, 
next_uop[-1].operand,
-                        (int)(next_uop - current_executor->trace - 1));
+                        (int)(next_uop - (current_executor == NULL ? next_uop 
: current_executor->trace) - 1));
                 Py_FatalError("Unknown uop");
             }
 #else

_______________________________________________
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]

Reply via email to