◐ Shell
clean mode source ↗

email.compat32-message.rst: Fix typo in the word `message` (GH-379) by Mariatta · Pull Request #380 · python/cpython

SonicField added a commit to SonicField/cpython that referenced this pull request

@SonicField

Two root causes diagnosed by testkeeper:
- (A) script bug: EXTRA_CXXFLAGS env var not consumed by build_phoenix.sh
  (it expects EXTRA_CMAKE_FLAGS); -DJIT_TEST_VARIADIC_BRIDGE never reached
  the cmake compile flags -> shadow-emit divergence path was compiled out
- (B) test-fixture inadequacy: fib(10) uses small interned ints whose
  refcount never decreases to zero, so MakeDecref dealloc-fallthrough
  generates site 600 in compiled code but never executes it at runtime.
  (Pythia python#376 second-order risk lands empirically.)

Fix:
- (A) EXTRA_CXXFLAGS -> EXTRA_CMAKE_FLAGS=" -DJIT_TEST_VARIADIC_BRIDGE=1
  -DJIT_TEST_EXERCISE=1" (also forces counter into release build for
  diagnostic disambiguation)
- (B) Replace fib(10) with stress fixture: 1000 iters of [None]*100 list
  alloc + dealloc; lists are not interned, deallocs reach _Py_Dealloc

Diagnostic added: counter delta surfaced inline. If counter == 0 even with
EXERCISE flag, FAIL-DIAGNOSTIC explicit (site re-selection for c23+).
Disambiguates (3-gate) FAIL between mechanism bug and traversal inference
failure.

Self-attribution: third amendment cycle on c22b-mech demonstrates the
recursive split from c22 -> c22a + c22b-api + c22b-mech accretes
verification debt. Pythia python#380 escape-hatch concern compounds — this fix
restores (3-gate) falsifiability but the FAIL surfaced only because
testkeeper invoked the opt-in env-var. Without explicit invocation the
mechanism degraded silently (script bug on first execution).