Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-48087

[REG 5.3.2->5.5.0] QUdpSocket stops emitting readyRead() signals under heavy Udp traffic

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Duplicate
    • Affects Version/s: 5.5.0
    • Fix Version/s: None
    • Component/s: Network: Sockets
    • Labels:
      None
    • Environment:

      Description

      Under heavy load(UdpTraffic to the bound socket),
      QUdpSocket starts receiving datagrams(and emitting readyRead()), but it will stop after a while.
      In this state hasPendingDatagrams() returns true.
      The QUdpReceiver does not emit the signal readyRead() any more, even though the slot connected to readyRead() reads all datagrams until
      hasPendingDatagrams() returns false.

      This can be reproduced in Qt 5.5.0 but not in Qt 5.3.2
      with the broadcast examples in examples/network, when applying the attached diff to the broadcast sender. This patch simply increases the amount of sent messages.
      The broadcastreceiver will stop receiving messages(displaying a fixed message number), while the broadcastsender still sends messages.
      I would expect the broadcastreceiver to continue(->This is exacly what's happening in Qt 5.3.2)

        Attachments

          Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            Activity

              People

              Assignee:
              thiago Thiago Macieira
              Reporter:
              kmwbg Benno Grolik
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Gerrit Reviews

                  There are no open Gerrit changes