From: Ken Jin Date: Tue, 20 Feb 2024 18:47:05 +0000 (+0800) Subject: gh-115735: Fix current executor NULL before _START_EXECUTOR (#115736) X-Git-Tag: v3.13.0a5~313 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7a8c3ed43abb4b7a18e7a271aaee3ca69c0d83bc;p=thirdparty%2FPython%2Fcpython.git gh-115735: Fix current executor NULL before _START_EXECUTOR (#115736) This fixes level 3 or higher lltrace debug output `--with-pydebug` runs. --- diff --git a/Python/ceval.c b/Python/ceval.c index 596d5f449c06..b7a5d629c946 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -1008,7 +1008,7 @@ enter_tier_two: 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 @@ enter_tier_two: { 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