Closed
Description
Crash report
When I run tests in single-process mode I get unexpected traceback output but tests was marked as passed:
$ ./python -m test -r
== CPython 3.13.0a0 (heads/regretest-no-remove-test-module:eb7766baa4, Sep 13 2023, 10:58:19) [GCC 11.4.0]
== Linux-5.15.0-79-generic-x86_64-with-glibc2.35 little-endian
== Python build: debug
== cwd: /home/serhiy/py/cpython/build/test_python_worker_3200061æ
== CPU count: 8
== encodings: locale=UTF-8, FS=utf-8
Using random seed 68644298
0:00:00 load avg: 0.75 Run 463 tests sequentially
...
0:12:03 load avg: 1.72 [191/463] test.test_concurrent_futures.test_process_pool
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
0:12:21 load avg: 1.52 [192/463] test_codecencodings_tw
...
0:25:47 load avg: 1.21 [361/463] test.test_concurrent_futures.test_deadlock
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 201, in send_bytes
self._send_bytes(m[offset:offset + size])
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 422, in _send_bytes
self._send(buf)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 385, in _send
n = write(self._handle, buf)
^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 201, in send_bytes
self._send_bytes(m[offset:offset + size])
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 422, in _send_bytes
self._send(buf)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 385, in _send
n = write(self._handle, buf)
^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 201, in send_bytes
self._send_bytes(m[offset:offset + size])
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 422, in _send_bytes
self._send(buf)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 385, in _send
n = write(self._handle, buf)
^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
0:26:01 load avg: 1.10 [362/463] test_bigaddrspace
...
0:26:20 load avg: 1.08 [368/463] test.test_concurrent_futures.test_init
Traceback (most recent call last):
File "/home/serhiy/py/cpython/Lib/multiprocessing/queues.py", line 250, in _feed
send_bytes(obj)
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 185, in send_bytes
self._check_closed()
File "/home/serhiy/py/cpython/Lib/multiprocessing/connection.py", line 138, in _check_closed
raise OSError("handle is closed")
OSError: handle is closed
0:26:23 load avg: 1.15 [369/463] test_eof
...
Then Python crashed after reporting total success:
Total duration: 38 min 29 sec
Total tests: run=40,827 skipped=1,248
Total test files: run=453/463 skipped=10 resource_denied=10
Result: SUCCESS
Fatal Python error: Segmentation fault
Current thread 0x00007fb61c438740 (most recent call first):
Garbage-collecting
<no Python frame>
Помилка адресування (збережено знімок оперативної пам’яті)
The last line is "Segfault (core dumped)" in Ukrainian, but I have no core dump because ulimit -c
was 0.
I ran tests with a modification of #108952 which does not remove test module or any imported during testing modules before or after running a test.
cc @vstinner
Linked PRs
- gh-109370: Support closing Connection and PipeConnection from other thread #109397
- gh-109370: Fix unexpected traceback output in test_concurrent_futures #109780
- [3.11] gh-109370: Fix unexpected traceback output in test_concurrent_futures (GH-109780) #109882
- [3.12] gh-109370: Fix unexpected traceback output in test_concurrent_futures (GH-109780) #111934