`test_threading` failing randomly on CI
Ouverte
Personne n'a encore pris cette issue.
tests
topic-free-threading
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
See https://github.com/python/cpython/actions/runs/12953185538/job/36134744339?pr=128869
test_reinit_tls_after_fork (test.test_threading.ThreadJoinOnShutdown.test_reinit_tls_after_fork) ... Warning -- Uncaught thread exception: AssertionError
Exception in thread Thread-34 (do_fork_and_wait):
Traceback (most recent call last):
File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/threading.py", line 1054, in _bootstrap_inner
self.run()
~~~~~~~~^^
File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/threading.py", line 996, in run
self._target(*self._args, **self._kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/test/test_threading.py", line 1438, in do_fork_and_wait
support.wait_process(pid, exitcode=50)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
File "/Users/admin/actions-runner/_work/cpython/cpython/Lib/test/support/__init__.py", line 2205, in wait_process
raise AssertionError(f"process {pid} is still running "
f"after {dt:.1f} seconds")
AssertionError: process 10953 is still running after 300.2 seconds
ok
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
Commencez par l’exécution CI liée et Lib/test/test_threading.py, en particulier ThreadJoinOnShutdown.test_reinit_tls_after_fork et son helper do_fork_and_wait. Suivez l’appel à Lib/test/support/init.py: wait_process et reproduisez le blocage de 300 secondes du processus enfant. C’est terminé lorsque le test n’échoue plus de manière intermittente et ne laisse plus le processus enfant s’exécuter sur CI.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- operating-systems, testing-qa
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100