Source: python-pypushflow Version: 0.7.0-5 Severity: serious Tags: forky sid User: [email protected] Usertags: python3.14
Hi Maintainer The autopkgtests of this package fail with Python 3.14 [1]. I've copied what I hope is the relevant part of the log below. Regards Graham [1] https://ci.debian.net/packages/p/python-pypushflow/testing/amd64/ 370s =================================== FAILURES =================================== 370s ___________ test_callback[False-multiprocessing-forkserver-bprocess] ___________ 370s 370s task_name = 'bprocess', context = 'forkserver', pool_type = 'multiprocessing' 370s scaling = False 370s 370s @pytest.mark.parametrize("task_name", list(utils.SUCCESS)) 370s @pytest.mark.parametrize("context", utils.CONTEXTS) 370s @pytest.mark.parametrize("pool_type", utils.POOLS) 370s @pytest.mark.parametrize("scaling", [True, False]) 370s def test_callback(task_name, context, pool_type, scaling): 370s > with utils.pool_context(scaling, pool_type, context=context) as pool: 370s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 370s 370s tests/concurrent/test_nesting.py:11: 370s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 370s /usr/lib/python3.14/contextlib.py:141: in __enter__ 370s return next(self.gen) 370s ^^^^^^^^^^^^^^ 370s tests/concurrent/utils.py:43: in pool_context 370s with pool_cls(pool_type=pool_type, **pool_options) as pool: 370s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 370s /usr/lib/python3/dist-packages/pypushflow/concurrent/multiprocessing.py:29: in __init__ 370s self._pool = _initialize_pool(kwargs) 370s ^^^^^^^^^^^^^^^^^^^^^^^^ 370s /usr/lib/python3/dist-packages/pypushflow/concurrent/multiprocessing.py:85: in _initialize_pool 370s return _Pool(initializer=interrupt.worker_initializer, **kwargs) 370s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 370s /usr/lib/python3.14/multiprocessing/pool.py:215: in __init__ 370s self._repopulate_pool() 370s /usr/lib/python3.14/multiprocessing/pool.py:306: in _repopulate_pool 370s return self._repopulate_pool_static(self._ctx, self.Process, 370s /usr/lib/python3.14/multiprocessing/pool.py:329: in _repopulate_pool_static 370s w.start() 370s /usr/lib/python3.14/multiprocessing/process.py:121: in start 370s self._popen = self._Popen(self) 370s ^^^^^^^^^^^^^^^^^ 370s /usr/lib/python3.14/multiprocessing/context.py:300: in _Popen 370s return Popen(process_obj) 370s ^^^^^^^^^^^^^^^^^^ 370s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:35: in __init__ 370s super().__init__(process_obj) 370s /usr/lib/python3.14/multiprocessing/popen_fork.py:20: in __init__ 370s self._launch(process_obj) 370s /usr/lib/python3.14/multiprocessing/popen_forkserver.py:51: in _launch 370s self.sentinel, w = forkserver.connect_to_new_process(self._fds) 370s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 370s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 370s 370s self = <multiprocessing.forkserver.ForkServer object at 0x7fb3aef0d6a0> 370s fds = [972, 973, 974, 975] 370s 370s def connect_to_new_process(self, fds): 370s '''Request forkserver to create a child process. 370s 370s Returns a pair of fds (status_r, data_w). The calling process can read 370s the child process's pid and (eventually) its returncode from status_r. 370s The calling process should write to data_w the pickled preparation and 370s process data. 370s ''' 370s self.ensure_running() 370s assert self._forkserver_authkey 370s if len(fds) + 4 >= MAXFDS_TO_SEND: 370s raise ValueError('too many fds') 370s with socket.socket(socket.AF_UNIX) as client: 370s client.connect(self._forkserver_address) 370s parent_r, child_w = os.pipe() 370s > child_r, parent_w = os.pipe() 370s ^^^^^^^^^ 370s E OSError: [Errno 24] Too many open files 370s 370s /usr/lib/python3.14/multiprocessing/forkserver.py:96: OSError

