We have a Windows Qpid 0.20 C++ client that receives huge amount of data from
a Qpid broker.  The other day, after enabling the debug+ logging level on
Qpid, we saw the following message recorded in the Qpid log file:

2013-05-14 10:44:41 [System] debug Exception constructed: An operation on a
socket could not be performed because the system lacked sufficient buffer
space or because a queue was full. 
(...\qpid\sys\windows\SslAsynchIO.cpp:354)

While researching the message "An operation on a socket could not be
performed...", I have found that it is for error WSAENOBUFS on Windows. 
Most people talked about the operating systems running out of memory for TCP
buffers or TCP "ephemeral" ports, but when I looked up the specific line of
codes in Qpid, I saw that it was thrown by the following line in Qpid, not
by a Windows socket-related function calls:

void SslAsynchIO::sslDataIn(qpid::sys::AsynchIO& a, BufferBase *buff) {
...
            extraBuff = a.getQueuedBuffer();
            if (0 == extraBuff)
                throw QPID_WINDOWS_ERROR(WSAENOBUFS);

After the exception, our client continued to receive several messages before
it stopped, and when we tried to send requests to the broker, we got no
responses.  We are not sure that the later events were related to the
exception.  We just like to know what does the exception mean.

Thanks.




--
View this message in context: 
http://qpid.2158936.n2.nabble.com/Qpid-throwed-WSAENOBUFS-while-receiving-data-from-a-broker-tp7592938.html
Sent from the Apache Qpid users mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to