uwplse / verdi-raft

An implementation of the Raft distributed consensus protocol, verified in Coq using the Verdi framework
BSD 2-Clause "Simplified" License
183 stars 19 forks source link

Server assumes that it can read the entire client request with a single recv call #53

Open palmskog opened 7 years ago

palmskog commented 7 years ago

From @pfons on April 13, 2016 2:31

If the server is not able to read with one call the entire client request, which is sent over TCP, the server wrongly presumes that the client is disconnected and throws an exception (function _read_fromsocket in file Shim.ml).

The problem can be usually reproduced by simply sending the requests using two send calls on the client side.

Copied from original issue: uwplse/verdi#41