-
Notifications
You must be signed in to change notification settings - Fork 4.5k
grpc: Server.Serve failed to create ServerTransport: connection error: desc = "transport: short write" #1054
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
Client code (that's it):
Server (simplified, dropped error checks and so on) :
|
This is the test I use: https://github.com/bioothod/grpc_test |
And the bug seems related to grpc code which doesn't tolerate 'short writes', i.e. when underlying connection writer's So, here is a story. Server frequently fails to accept new client, i.e. it accepts it and immediately closes connection with abovementioned error
This is because of this There are at least 2 places where this error appears: Bug is 100% reproducible under wine using https://github.com/bioothod/grpc_test
requires editing Makefile to specify correct go compiler and goroot |
Do you think if this is a gRPC-go issue? Can we close this issue now? |
Yes, you are right, it could be closed, it went down to wine |
I frequently get this error during usual request-response operations. Single RPC, small amount of data.
Client side is a python if that matters. Server is just a
grpc.NewServer()
without fancy options as well as listener. I've slightly modifiedtransport/http2_server.go
to print delta size.Delta happens to be less than 1M:
(also, checking that uint32 > 0 looks like a bug, if it is not a plain check against zero)
Client fails with the following message when this happens:
The text was updated successfully, but these errors were encountered: