-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DBG CI-trigger #395
DBG CI-trigger #395
Conversation
On the first trigger we get 5 failures:
and on the second we get a deadlock in
|
I pushed a commit to display more debug into. |
I pushed some logs to make sure which error comes from where. |
So supposedly the Then the following traceback is the root cause of the failure:
Note however that it is always logged after the errno 22 in its parent. |
Also note that I cannot reproduce this in a py311 env on a local windows VM... hence the need to debug with the CI... |
It's weird that this problem only happens in the third nested subprocess:
The |
I have the impression that the failure |
For the record, is the full traceback of the ignored exception in the parent: [DEBUG:LokyProcess-1:1:MainThread] error in Popen.__init__:
Traceback (most recent call last):
File "D:\a\1\s\loky\backend\popen_loky_win32.py", line 106, in __init__
reduction.dump(process_obj, to_child)
File "D:\a\1\s\loky\backend\reduction.py", line 208, in dump
_LokyPickler(file, reducers=reducers, protocol=protocol).dump(obj)
File "D:\a\1\s\.tox\py311\Lib\site-packages\cloudpickle\cloudpickle_fast.py", line 632, in dump
return Pickler.dump(self, obj)
^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.11.3\x64\Lib\multiprocessing\synchronize.py", line 104, in __getstate__
h = context.get_spawning_popen().duplicate_for_child(sl.handle)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\1\s\loky\backend\popen_loky_win32.py", line 126, in duplicate_for_child
return duplicate(handle, self.sentinel)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\hostedtoolcache\windows\Python\3.11.3\x64\Lib\multiprocessing\reduction.py", line 79, in duplicate
return _winapi.DuplicateHandle(
^^^^^^^^^^^^^^^^^^^^^^^^
OSError: [WinError 50] The request is not supported |
tb = traceback.format_exception( | ||
type(exc), exc, getattr(exc, "__traceback__", None) | ||
) | ||
util.debug("error in Popen.__init__:\n" + "".join(tb)) | ||
if exc.errno != 22: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that in cpython main
, this special casing of errno 22
does not exist: the exception is always raised.
Ok so this is a loky-specific problem: running the same test with the default "spawn" context works. So we will have to diff the 2 backends w.r.t. semlock usage. |
I will re-push a trigger commit just to be sure. |
Ok so based on the last CI runs, this is really a problem that only happens with the loky context, not the spawn context. |
Fixed by #394. |
No description provided.