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

QNetworkAccessManager, and QNetworkReply, not set error, and not emit signals, when lost WiFi or Ethernet, in second request, sensed after restore network connection.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Reported
    • Priority: P3: Somewhat important
    • Resolution: Unresolved
    • Affects Version/s: 5.9.7, 5.12.1
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      1. Debian stretch Linux x86-64, Qt 5.12.1
      2. Raspberry Pi, Raspbian stretch, Qt 5.12.1 or 5.9.7
    • Platform/s:
      Linux/X11, Linux/Other display system

      Description

      Hello! We have problem with QNetworkAccessManager, i think it is same bug QTBUG-57799
      It happens on Raspberry Pi 3B/3B+, in Qt 5.9.7 and i also test last build, from Git.
      But, i can reproduce it on Intel with Debian PC, and 5.12.1 version from Git.
      It is seems independent GET/POST requests, use HTTPS connection or HTTP.

      To reproduce:

      1. first, we decease time, to send ACK request, to prevent wait do 2 hour:
        #sudo echo 200 > /proc/sys/net/ipv4/tcp_keepalive_time
      2. run app, wait several requests was finished, and disconnect network (on Raspberry Pi it is usually happens when WiFi network lost, but we can disconnect Cable, and will have same effect);
      3. wait while process ACK requests, and we get network `UnknownNetworkError`; 
      4. wait until some `No route host` happens;
      5. insert cable back, and at this moment, we get error `HostNotFoundError` (it is OK, because while we not get IP over DHCP, it is in process);
      6. in next request, it wait infinity, no any signals emitted:
        finish, or error, in QNetworkReply is not emitted. Also finish in QNetworkAccessManager not emitted, and QNttworkReply.open()==true and same time QNttworkReply.error()==NoError`.
        So we just wait response, but it is never come...

      (if connections, over cable and only in Raspberry Pi steps 1-3 we can skip, just remove cable, and run app, and next insert cable back, and in second request it happens).

      We have 50 Raspberry Pi that work with our service, performing periodic requests several times in a few seconds.
      Often, there is a loss of network connection, and they go into this strange state.

      Repeat quickly, can be, like in QTBUG-57799 this report over `black hole`.

      I note that if the network interface remains configured, the problem i not repeated.

      (for example, if a Switch is inserted between the Raspberry Pi and the network router. And the connection is lost between switch and router. Although, in this state, I periodically found devices that are connected to the 3G, router over a cable. And no one, disconnected the cable, and the router did not rebooted).

        Attachments

        1. out1.txt
          6 kB
        2. TestNetworkReply.tgz
          5 kB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

            • Assignee:
              cnn Qt Core & Network
              Reporter:
              lubagov Nikolay Lubyagoc
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:

                Gerrit Reviews

                There are no open Gerrit changes