`test_multiprocessing_spawn.test_processes` flaky tests on Windows
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
Bug report
Seen on Windows free threading build, but not free threading specific:
https://github.com/python/cpython/actions/runs/13606907022/job/38039459160?pr=130732
This is in Windows specific code. Not yet sure if this is free threading specific.
ERROR: test_async_error_callback (test.test_multiprocessing_spawn.test_processes.WithProcessesTestPoolWorkerErrors.test_async_error_callback)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\a\cpython\cpython\Lib\test\_test_multiprocessing.py", line 3101, in test_async_error_callback
p.close()
~~~~~~~^^
File "D:\a\cpython\cpython\Lib\multiprocessing\pool.py", line 652, in close
self._change_notifier.put(None)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\queues.py", line 394, in put
self._writer.send_bytes(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 206, in send_bytes
self._send_bytes(m[offset:offset + size])
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 293, in _send_bytes
raise ValueError("concurrent send_bytes() calls "
"are not supported")
ValueError: concurrent send_bytes() calls are not supported
Also `test_traceback`:
ERROR: test_traceback (test.test_multiprocessing_spawn.test_processes.WithProcessesTestPool.test_traceback)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\a\cpython\cpython\Lib\test\_test_multiprocessing.py", line 2974, in test_traceback
with self.Pool(1) as p:
~~~~~~~~~^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\pool.py", line 739, in __exit__
self.terminate()
~~~~~~~~~~~~~~^^
File "D:\a\cpython\cpython\Lib\multiprocessing\pool.py", line 657, in terminate
self._terminate()
~~~~~~~~~~~~~~~^^
File "D:\a\cpython\cpython\Lib\multiprocessing\util.py", line 216, in __call__
res = self._callback(*self._args, **self._kwargs)
File "D:\a\cpython\cpython\Lib\multiprocessing\pool.py", line 690, in _terminate_pool
change_notifier.put(None)
~~~~~~~~~~~~~~~~~~~^^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\queues.py", line 394, in put
self._writer.send_bytes(obj)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 206, in send_bytes
self._send_bytes(m[offset:offset + size])
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\cpython\cpython\Lib\multiprocessing\connection.py", line 293, in _send_bytes
raise ValueError("concurrent send_bytes() calls "
"are not supported")
ValueError: concurrent send_bytes() calls are not supported
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 test.test_multiprocessing_spawn.test_processes et les cas en échec dans Lib/test/_test_multiprocessing.py, puis suivez les échecs Windows à travers Lib/multiprocessing/pool.py, queues.py et connection.py. Reproduisez les échecs sous Windows et déterminez pourquoi des appels send_bytes concurrents se produisent ; le travail est terminé lorsque les tests concernés ne présentent plus d’échecs intermittents et que le comportement est couvert par des tests appropriés.
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é
- À clarifier
- Accessibilité débutants
- 35/100