co_instrumentation and co_monitoring Unexpectedly Set
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Bug report
Bug description:
I ran into the following problematic case with gh-133221 (which had to be reverted):
import sys
import _testinternalcapi
def foo():
pass
def trace_temporarily():
sys._getframe().f_trace_opcodes = True
sys.settrace(print)
sys.settrace(None)
sys._getframe().f_trace_opcodes = False
trace_temporarily()
_testinternalcapi.verify_stateless_code(foo.__code__)
foo()
_testinternalcapi.verify_stateless_code(foo.__code__) # fails
(See https://github.com/python/cpython/pull/133221#issuecomment-2853467104.)
I would expect co_instrumentation and co_monitoring to have remained NULL.
CC @markshannon
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Reproduisez l’exemple fourni sur CPython main branch, en vous concentrant sur sys.settrace, f_trace_opcodes et _testinternalcapi.verify_stateless_code. Suivez l’évolution de l’état de co_instrumentation et co_monitoring pendant le tracing temporaire, et confirmez le fix en vous assurant qu’ils restent tous deux NULL et que la vérification réussit après l’exécution de foo().
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- compilers
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 38/100