-
Notifications
You must be signed in to change notification settings - Fork 150
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
Fix "GetOverlappedResult: More data available" on windows 10 #495
base: master
Are you sure you want to change the base?
Conversation
Fixed the pycodestyle issue, it should now pass the CI. |
Please squash and rebase over latest |
@gtbuchanan @SlugFiller could you please take a look? |
I haven't encountered the error myself, which makes me not completely sure on when At the very least, if the buffer has been completely filled, the operation should be over with |
IMO (there also isn't much clarity on the error from the microsoft side), the ERROR_MORE_DATA means that the read buffer was completely filled with data and there is still more data to be read, this is in line with my observation (the agent doesn't work without this fix on win10 19045.5131). Moreover there already was an attempt to catch the ERROR_MORE_DATA error on lines 165-169, however it is not returned as an error code there, but instead thrown by the later win32pipe.GetOverlappedResult call. |
ce18fb3
to
e076b9c
Compare
Squashed & rebased |
Here is the overlapped IO example from Microsoft. It does loop to call |
I've ran into an issue on windows 10, with the ledger-agent crashing with the following error:
This PR is a fix for it, essentially just catching ERROR_MORE_DATA and returning the whole read buffer in that case.