bpo-29684: Fix regression of PyEval_CallObjectWithKeywords#87
Merged
methane merged 2 commits intopython:masterfrom Mar 1, 2017
Merged
bpo-29684: Fix regression of PyEval_CallObjectWithKeywords#87methane merged 2 commits intopython:masterfrom
methane merged 2 commits intopython:masterfrom
Conversation
vstinner
approved these changes
Mar 1, 2017
It should raise TypeError when kwargs is not a dict.
akruis
pushed a commit
to akruis/cpython
that referenced
this pull request
Sep 9, 2017
Never call inter-thread scheduler for a tasklet switch with prev==next. This fixes the first part of issue python#87. Fix an assert, that is no longer valid. Fixes part 2 of issue python#87. Add a test case for two assertion failures during interpreter shutdown. https://bitbucket.org/stackless-dev/stackless/issues/87 (grafted from a6e5950cb45fc1d2d101866c20aea7eb5f005db0, 73f4ac31aa6a and 9f4606055d9c)
colesbury
referenced
this pull request
in colesbury/nogil
Oct 6, 2021
There was a period between detaching the PyThreadState on thread exit and abandoning the heap where a GC thread might see an inconsistent state of the heap. See #87
jaraco
pushed a commit
that referenced
this pull request
Dec 2, 2022
jaraco
added a commit
to jaraco/cpython
that referenced
this pull request
Feb 17, 2023
This was referenced Feb 11, 2025
SonicField
added a commit
to SonicField/cpython
that referenced
this pull request
Apr 23, 2026
… gates Per pythia python#87 (2026-04-23 02:39Z) + supervisor [chat L2626]: §4 amendment (sufficient → necessary-not-sufficient): - Bridge-inventory falsification PASS confirms inventory completeness ONLY - PASS does NOT confirm semantic equivalence of new C body vs deleted C++ - Empirical proof: push 84 95c9f9b PASSED §4 mutation but W21 golden still detected register-allocation HIR regression in attr_probe; PhxCallKind dispatch fix at 1553c14 required - §4 alone insufficient; semantic-equivalence requires separate gates §4b NEW SECTION (semantic-equivalence gates, MANDATORY): - W21 golden (catches register-alloc drift, opcode-dispatch shifts, HIR construction-order changes — push 84 case-in-point) - Falsifier suite 6/6 (sole-path force_compile) - Force_compile sole-path execution (per scripts/gate_phoenix.sh, 5 mainline functions) - Caveat: __static__-only paths have no sole-path coverage per W27e accepted-residual L2531+L2533 Cross-link added: feedback_dispatch_glue_categorization.md for PARTIAL stub Cat-A/B falsifiable test. General principle (future workstream specs): post-Step-B falsification test as NECESSARY-but-NOT-SUFFICIENT. Inventory-PASS does not substitute for semantic-equivalence verification. Pythia python#87 redefining-on-landing meta-concern addressed structurally: spec language now distinguishes the two gate classes.
SonicField
added a commit
to SonicField/cpython
that referenced
this pull request
Apr 23, 2026
Per supervisor [chat L2626] + L2742 + librarian L2737 (close pythia python#87 python#3 ephemera-gap durably). Captures empirical W26 push 84 incident (95c9f9b → 1553c14 fix): - Both cinder_opcode_ids.h + Include/opcode.h use Py_OPCODE_H guard - Include order silently shadows whichever loads second - W26 case: BINARY_OP_ADD_INT undefined → attr_probe HIR regression caught by W21 golden trip-wire Three resolution options enumerated: - (A) rename cinder_opcode_ids.h guard to CINDERX_OPCODE_IDS_H — recommended, eliminates collision class - (B) static_assert in cinder_opcode.h to detect collision at compile — hardens detection without fixing - (C) header-comment only — current state, NOT recommended (chat- ephemera proven insufficient) Related W29 candidate noted: PHX_PRIM_OP_* / PHX_PRIM_UOP_* hard-coded in builder_emit_c.c lines 3727-3746 with no static_assert binding to classloader.h authoritative #defines (per pythia python#89 python#3 re-issue). DEFERRED per supervisor — schedule post-Batch-2 burndown, before any upstream sync touching Include/opcode.h or classloader.h.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
It should raise TypeError when kwargs is not a dict.