BobBuildTool/bob

OSError: [Errno 22] Invalid argument

Opened this issue · 3 comments

bob dev demo-cortex-r52 -j
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3.8/multiprocessing/forkserver.py", line 207, in main
with socket.socket(socket.AF_UNIX, fileno=listener_fd) as listener,
File "/usr/lib/python3.8/socket.py", line 231, in init
_socket.socket.init(self, family, type, proto, fileno)
OSError: [Errno 22] Invalid argument

Bob version 0.24.0
Traceback (most recent call last):
File "/root/.local/lib/python3.8/site-packages/bob/scripts.py", line 146, in catchErrors
ret = fun(*args, **kwargs)
File "/root/.local/lib/python3.8/site-packages/bob/scripts.py", line 254, in cmd
ret = cmd(args.args, bobRoot)
File "/root/.local/lib/python3.8/site-packages/bob/scripts.py", line 29, in __develop
doDevelop(*args, **kwargs)
File "/root/.local/lib/python3.8/site-packages/bob/cmds/build/build.py", line 410, in doDevelop
commonBuildDevelop(parser, argv, bobRoot, True)
File "/root/.local/lib/python3.8/site-packages/bob/cmds/build/build.py", line 221, in commonBuildDevelop
with EventLoopWrapper() as (loop, executor):
File "/root/.local/lib/python3.8/site-packages/bob/utils.py", line 730, in init
self.__executor = getProcessPoolExecutor()
File "/root/.local/lib/python3.8/site-packages/bob/utils.py", line 714, in getProcessPoolExecutor
executor.submit(dummy).result()
File "/usr/lib/python3.8/concurrent/futures/process.py", line 645, in submit
self._start_queue_management_thread()
File "/usr/lib/python3.8/concurrent/futures/process.py", line 584, in _start_queue_management_thread
self._adjust_process_count()
File "/usr/lib/python3.8/concurrent/futures/process.py", line 608, in _adjust_process_count
p.start()
File "/usr/lib/python3.8/multiprocessing/process.py", line 121, in start
self._popen = self._Popen(self)
File "/usr/lib/python3.8/multiprocessing/context.py", line 291, in _Popen
return Popen(process_obj)
File "/usr/lib/python3.8/multiprocessing/popen_forkserver.py", line 35, in init
super().init(process_obj)
File "/usr/lib/python3.8/multiprocessing/popen_fork.py", line 19, in init
self._launch(process_obj)
File "/usr/lib/python3.8/multiprocessing/popen_forkserver.py", line 59, in _launch
self.pid = forkserver.read_signed(self.sentinel)
File "/usr/lib/python3.8/multiprocessing/forkserver.py", line 334, in read_signed
raise EOFError('unexpected EOF')
EOFError: unexpected EOF

This looks like something is really broken in your environment. Somehow unix domain sockets do not seem to work. Could you provide some more information about your OS environment (Linux version, architecture, ...) and the steps to reproduce the issue?

chptx commented

same on WSL.

Linux cq-PF468NLD 4.4.0-22621-Microsoft #3672-Microsoft Fri Jan 01 08:00:00 PST 2016 x86_64 x86_64 x86_64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy

Ah, you're using WSL. This suspiciously looks like microsoft/WSL#3935. Which WSL version are you using? It looks like you need to use WSL 2 for full Python compatibility.