-
-
Notifications
You must be signed in to change notification settings - Fork 31.7k
invalid assert on big output of multiprocessing.Process #78744
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
Comments
the bug is reproduced on big multiprocessing.Process output
in multiprocessing/connection.py:337 raises an exception like the following
this assert looks invalid in this case because in C code the left value is DWORD (unsigned long), which cannot be negative by definition. |
By bigger than signed int i meant bigger than positive signed int |
Thanks Alexander Buchkovsky for the fix: it has been merged into 3.6, 3.7 and master branches. Thanks Oleksandr Buchkovskyi for the bug report! -- I looked at the Python 2.7 code and it doesn't look to be impacted by this bug. Modules/_multiprocessing/pipe_connection.c uses ReadFile() and PeekNamedPipe(), but the result type of the two C functions using it is not a PyObject* and conn_recv_string() looks good to me. Moreover, the type of the buflength parameter of conn_recv_string() is size_t, so there is no signed issue. |
thank you for all the help in merging this fix! |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: