`test_multiprocessing_spawn.test_processes` flaky tests on Windows
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với test.test_multiprocessing_spawn.test_processes và các trường hợp bị lỗi trong Lib/test/_test_multiprocessing.py, sau đó lần theo các lỗi trên Windows qua Lib/multiprocessing/pool.py, queues.py và connection.py. Tái hiện các lỗi trên Windows và xác định lý do các lệnh gọi send_bytes đồng thời xảy ra; hoàn thành khi các bài kiểm thử bị ảnh hưởng không còn lỗi chập chờn và hành vi này được bao phủ bởi các bài kiểm thử phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- operating-systems, testing-qa
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100