Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-5033

[Windows C++ client] An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.31
    • C++ Client
    • None
    • Windows, different versions

    Description

      As discussed on the user mailing list (http://qpid.2158936.n2.nabble.com/Qpid-throwed-WSAENOBUFS-while-receiving-data-from-a-broker-td7592938.html), when receiving a large amounts of messages over SSL using a receiver prefetch, the clients fails with an exception "An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full". This exception seems to originate from the SslAsynchIO class, method sslDataIn.

      Decreasing the capacity seems to improve the frequency with which the problem appears. However with 1MB messages, even capacity 1 doesn't seem to work. The problem seems to be quite easy to reproduce using following scenario:

      1) Create a large queue on a broker (C++ / Linux)
      2) Start feeding messages into the queue using C++/Linux program (in my case I used approximately 1kB messages)
      3) Connect with a receiver (C++/Windows) using SSL and prefetch 1000 (no client authentication, I used username & password)
      4) Wait few seconds to see the error in the receiver

      The source code of the receiver as well as the full trace+ log are attached. Please let me know should you need some additional information.

      Attachments

        1. client.cpp
          3 kB
          Jakub Scholz
        2. client-trace.log
          79 kB
          Jakub Scholz

        Activity

          People

            cliffjansen Clifford Jansen
            scholzj Jakub Scholz
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: