Charmed Quark Systems, Ltd. - Support Forums and Community

Full Version: Could not read or write all requested bytes
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

I am seeing this error in my log periodically. I am on 3.4.15. How do I dig further?

SamVimes2 Wrote:Dean,

I am seeing this error in my log periodically. I am on 3.4.15. How do I dig further?


Which process are you seeing log it? If you can get a log dump that includes that error that would help.
Looks like the RIVA server. Here's a relevant snippet:
04/23 13:34:04-Automation, CQCRemVSrv, CQCRemVSrvWThr12
    CIDSock, CIDSock_StreamSocket.cpp.692, Failed/Not All Data Read, Error: 5014/0/0
    Could not read or write all requested bytes
OK, yeh, it would be most likely to happen where wireless connections are involved. That would be a sign that the wireless network quality is dipping periodically and something sent from the RIVA client got partly there to the server, but it couldn't all be read. So the RIVA server would have dumped the connection and forced the RIVA client to reconnect. It could also happen the other direction but you wouldn't see that in the CQC logs.
I see it a lot as well with my RIVA errors (wrt my post in the beta thread). But my problems are bigger than this

It's almost always going to be network connection quality because it doesn't mean the server didn't see a response. It meant that it got part of it but didn't get the rest. It could mean that the program sent part of the data then croaked or something, but that's not nearly as likely.

One thing that may affect this, not sure, is if you guys on the client side enable Nagle style processing on the socket, and whether you send responses via some sort of streaming scheme vs. buffering it all up and sending at once. If you do the former, and there's no Nagle style processing enable, you may send out a packet with the header, and a separate one will go out with the data, which may be wasteful in most cases, and probably more so on a wireless network.

So that's something to check. I do turn it on on myside, but I'm not sure if it's even an available option on your end or not. It just provides for small delays in sending to wait to see if something else is going to quickly arrive that could make better utiliziation of the packet. For a non-call/response type protocol like RIVA, it would almost always be a benefit I think.
Oh, BTW, if it happens when you are shutting down the client, or if it goes to sleep or something like that, you may see that then, if the socket is closed without a formal shutdown and disconnection happening.
I have found this problem as well on my iPad client. I had the connection using the machine name of my master server. I changed it to use the IP, and the errors went away for me...

EDIT: I am running 3.4.20
I've seen it as well. It's definitely something in the closing of the session, so nothing to worry about I don't think, but I'll check into it.