Source: cppimport
Version: 22.08.02-2
Severity: important
Control: forwarded -1 https://github.com/tbenthompson/cppimport/issues/90
cppimport has started failing debci tests on most (if not all)
architectures:
112s ___________________________ test_multiple_processes
____________________________
112s
112s def test_multiple_processes():
112s with tmp_dir(["tests/hook_test.cpp"]) as tmp_path:
112s test_code = f"""
112s import os;
112s os.chdir('{tmp_path}');
112s import cppimport.import_hook;
112s import hook_test;
112s """
112s processes = [
112s Process(target=subprocess_check, args=(test_code,)) for i
in range(100)
112s ]
112s
112s for p in processes:
112s p.start()
112s
112s for p in processes:
112s p.join()
112s
112s > assert all(p.exitcode == 0 for p in processes)
112s E assert False
112s E + where False = all(<generator object
test_multiple_processes.<locals>.<genexpr> at 0x7fdfabf48ba0>)
112s
112s tests/test_cppimport.py:236: AssertionError
112s ----------------------------- Captured stdout call
-----------------------------
112s Traceback (most recent call last):
112s File "<string>", line 5, in <module>
112s File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
112s File "<frozen importlib._bootstrap>", line 1322, in
_find_and_load_unlocked
112s File "<frozen importlib._bootstrap>", line 1262, in _find_spec
112s File "/usr/lib/python3/dist-packages/cppimport/import_hook.py", line 21,
in find_spec
112s cppimport.imp(fullname, opt_in=True)
112s File "/usr/lib/python3/dist-packages/cppimport/__init__.py", line 50, in
imp
112s return imp_from_filepath(filepath, fullname)
112s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
112s File "/usr/lib/python3/dist-packages/cppimport/__init__.py", line 87, in
imp_from_filepath
112s build_safely(filepath, module_data)
112s File "/usr/lib/python3/dist-packages/cppimport/importer.py", line 33, in
build_safely
112s with filelock.FileLock(lock_path, timeout=1):
112s File "/usr/lib/python3/dist-packages/filelock/_api.py", line 339, in
__enter__
112s self.acquire()
112s File "/usr/lib/python3/dist-packages/filelock/_api.py", line 295, in
acquire
112s self._acquire()
112s File "/usr/lib/python3/dist-packages/filelock/_unix.py", line 42, in
_acquire
112s fd = os.open(self.lock_file, open_flags, self._context.mode)
112s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
112s FileNotFoundError: [Errno 2] No such file or directory:
'/tmp/tmpe23cj6xk/hook_test.cpython-312-x86_64-linux-gnu.so.lock'
As far as I can tell this is upstream issue #90
https://github.com/tbenthompson/cppimport/issues/90
Not (yet) marking the bug with Severity: Serious since not all systems are
effected
(i.e. the test passes on my own local system)