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

WASM: QNetworkReply, after calling abort finished is not emitted

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • 5.12.1, 5.12.2
    • 5.12.0
    • Network
    • None
    • Fedora 28 / Firefox 63.0.3
      emsdk-1.38.21-64bit
    • WebAssembly
    • 1387f1910bde3743dc181bac9d92e86fb64691ef (qt/qtbase/5.12)

    Description

      The attached example makes an http request to "http://urlecho.appspot.com:81/echo" on clicking "Go" with a 3 seconds timeout that calls abort.
      Since the request can not work for port 81 the timeout should always trigger.
      But for webassembly the finished(or error, not checked in the example) signal is never emitted. 

      In the following image you can see what happens in the attached example on linux(top) compared to webassembly(bottom).

      I had a look at the implementation of QNetworkReplyWasmImpl::abort() and it just calls QNetworkReply::close() which should in theory emit finished as mentioned in the documentation.
      I fixed it for testing purposes by mirroring the implementation of QNetworkReplyHttpImpl::abort() and it works,
      but since I have no further insight in the inner workings I would not suggest this as a fix.

      Attachments

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

        Activity

          People

            lpotter Lorn Potter
            Marscho Marscho
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes