Need to keep traceback alive in WITH_EXCEPT_START
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 77.2k
- Fork
- 36k
- Metriche di merge delle PR
- Metriche PR in attesa
Descrizione
Bug report
Bug description:
Currently in WITH_EXCEPT_START the interpreter loop gets the traceback from the exception object and then immediately decref's it before calling the __exit__ function. But the __exit__ function may not incref the traceback (if it's not an interpretedPython function) and could cause the traceback to be replaced on the exception, leading it holding onto a freed traceback.
CPython versions tested on:
CPython main branch, 3.12
Operating systems tested on:
Linux
Linked PRs
- gh-130562
- gh-130626
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Esamina prima le PR collegate gh-130562 e gh-130626, quindi individua l’implementazione di WITH_EXCEPT_START nel ciclo dell’interprete di CPython. Verifica che il traceback rimanga valido durante l’esecuzione di exit e aggiungi o aggiorna la coverage per lo scenario di sostituzione e durata riportato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100