Grpc-go: Server error on client close.

Created on 3 Feb 2017  路  4Comments  路  Source: grpc/grpc-go

When running the helloworld example, the client executes successfully and without error.
The server gives an error :

transport: http2Server.HandleStreams failed to read frame: read tcp [::1]:50051->[::1]:58520: wsarecv: An existing connection was forcibly closed by the remote host.

This only happens when the client shuts down.

This might be fixed by issue #460

Bug

Most helpful comment

This is not a bug but a log spam: there's a goroutine on the server that reads on the connection synchronously, when the connection breaks(con.Close()), this gorutine logs an error out. Now the connection breaking might be completely valid (not an error, like in this case), the goroutine logs it out anyway.
We have a PR that'll take care of this by adding verbosity levels to log.
I'm going to go ahead and close this issue since there're already several issues tracking the same thing. Please track the aforementioned PR for updates.

All 4 comments

Yes, and this seems only to happen under Windows. If I cross compile it to Linux it works without error.

@linjohn also happens on Linux when I establish a connection and then call con.Close()
transport: http2Server.HandleStreams failed to read frame: read tcp [..]: read: connection reset by peer

This is not a bug but a log spam: there's a goroutine on the server that reads on the connection synchronously, when the connection breaks(con.Close()), this gorutine logs an error out. Now the connection breaking might be completely valid (not an error, like in this case), the goroutine logs it out anyway.
We have a PR that'll take care of this by adding verbosity levels to log.
I'm going to go ahead and close this issue since there're already several issues tracking the same thing. Please track the aforementioned PR for updates.

Was this page helpful?
0 / 5 - 0 ratings