On 6/19/2013 1:25 AM, Edward Berner wrote:
On 6/18/2013 7:56 PM, Richard Hipp wrote:


On Tue, Jun 18, 2013 at 10:52 PM, Edward Berner <[email protected] <mailto:[email protected]>> wrote:


    I was able to reproduce a similar behavior, and I think it has to
    do with the size of those files.

    I created a 200 MB file and a 150 MB file using dd from
    /dev/arandom.  I added those to a new repository on an OpenBSD
    system and was able to successfully clone it to a CentOS Linux
    system but it did not successfully clone to a Windows XP SP3 system.


I was able to clone from Linux to Win8 successfully. Do you think it is some kind of XP-specific problem?
I'm surprised, but yeah, its looking that way. I just ran the test again using the same fossil binary on XP and Windows 7. The clone failed on XP but succeeded on (64 bit) Windows 7. It also succeeds on 32 bit Vista but fails on Windows 2000 (I had to use a different binary on Windows 2000).

As a sanity check I served up a copy of Fossil's own repository in the same way as my test repository. All systems were able to successfully clone it.


I think I figured out part of the problem.

Way down in http_socket.c, there is no error handling in socket_receive() and socket_send().

In socket_receive(), I'm seeing a -1 return from recv(), and WSAGetLastError() returns 10055 which is WSAENOBUFS. According to the MSDN Library that means "No buffer space available. An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full."

(I don't know yet what the WSAENOBUFS is about or how to avoid or handle it....)

--
Edward Berner

_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to