Errors such as "frame too large" and "PROTOCOL_ERROR" occurred with Unix domain socket on Windows #7039
Labels
Area: Transport
Includes HTTP/2 client/server and HTTP server handler transports and advanced transport features.
P2
Status: Help Wanted
Type: Bug
What version of gRPC are you using?
v1.62.1
What version of Go are you using (
go version
)?go version go1.19.13 windows/amd64
What operating system (Linux, Windows, …) and version?
Windows 10 Enterprise 22H2 19045.4046
Windows 11 Pro 23H2 22631.3155
What did you do?
I initially observed these errors in Unix domain socket connection between daprd and its pluggable component. After modifying the RouteChat code in grpc-go/examples/route_guide, I was able to reproduce them.
What I did
The changes to server.go and client.go can be found at this repository.
Use Unix domain socket
Include a dummy string in the Message for sizing purposes
Continuously send requests without concurrency and log status
Respond to received requests as they are
How to reproduce
Install go and set up environment variables
And if 'GODEBUG: http2debug=2' is present, delete it. When printing this debug log, no errors were observed to occur.
Clone the repositories and compile for Unix domain socket
Execute 'server.exe' and 'client.exe' in separate command windows.
Be prepared to wait for errors; they may occur after several minutes or even tens of minutes.
What did you expect to see?
Continue running as if using a TCP socket connection.
When using TCP connection, there are no code differences besides the address specified in 'server.go' and 'client.go'. They can be found at this repository.
What did you see instead?
Try 1
Error occurred within 15 seconds.
server.exe logs
client.exe logs
Try 2
Error occurred within 1 seconds.
server.exe logs
client.exe logs
Try 3
Error occurred within 1 minute and 16 seconds.
server.exe logs
client.exe logs
Try 4 - seconds later
Error occurred within 2 minutes and 27 seconds.
server.exe logs
client.exe logs
Try 5
Error occurred within 2 minutes and 3 seconds.
server.exe logs
client.exe logs
The text was updated successfully, but these errors were encountered: