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

QML Image object causes a crash when it gets deleted while it's still loading

    XMLWordPrintable

Details

    • WebAssembly
    • f5a7514f42 (qt/tqtc-qtbase/6.4.1)

    Description

      I'm using the Image object in a ListView-delegate to load Images directly from Gravatar in a user table. When I scroll very fast in the list the application crashes with exit code 79. My assumption is that the network reply tries to access memory which already has been freed by delegate destruction. 

      I figured out that the crash is somwhere in QNetworkReplyWasmImplPrivate. 

      This is what I could see in the JS console. Hope it helps...

       

      Uncaught RuntimeError: memory access out of bounds
          at wasm-function[6087]:148
          at wasm-function[8223]:2028
          at wasm-function[4116]:14
          at wasm-function[24811]:1344
          at wasm-function[24816]:381
          at wasm-function[17810]:34
          at wasm-function[20444]:16
          at Module.dynCall_vii (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14), <anonymous>:1:314397)
          at dynCall_vii_2078 (eval at makeDynCaller (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:4:12)
          at XMLHttpRequest.qt_QNetworkReplyWasmImplPrivate_responseHeadersCallback (eval at new_ (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:8:1)
      2wasm-04cba40a:6088 Uncaught RuntimeError: memory access out of bounds
          at wasm-function[6087]:237
          at wasm-function[8223]:2028
          at wasm-function[4116]:14
          at wasm-function[24811]:1344
          at wasm-function[24816]:381
          at wasm-function[17810]:34
          at wasm-function[20444]:16
          at Module.dynCall_vii (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14), <anonymous>:1:314397)
          at dynCall_vii_2078 (eval at makeDynCaller (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:4:12)
          at XMLHttpRequest.qt_QNetworkReplyWasmImplPrivate_responseHeadersCallback (eval at new_ (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:8:1)
      qtloader.js:368 79
      qtloader.js:378 79
      VM17:1 Uncaught abort(79). Build with -s ASSERTIONS=1 for more info.
      qtloader.js:368 79
      qtloader.js:378 79
      VM17:1 Uncaught abort(79). Build with -s ASSERTIONS=1 for more info.
      qtloader.js:368 79
      qtloader.js:378 79
      VM17:1 Uncaught abort(79). Build with -s ASSERTIONS=1 for more info.
      qtloader.js:368 79
      qtloader.js:378 79
      VM17:1 Uncaught abort(79). Build with -s ASSERTIONS=1 for more info.
      VM17:1 Uncaught 30135136
      wasm-04cba40a:4122 Uncaught RuntimeError: memory access out of bounds
          at wasm-function[4121]:161
          at wasm-function[4115]:52
          at wasm-function[24817]:2125
          at wasm-function[17810]:34
          at wasm-function[20444]:16
          at Module.dynCall_vii (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14), <anonymous>:1:314397)
          at dynCall_vii_2078 (eval at makeDynCaller (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:4:12)
          at XMLHttpRequest.qt_QNetworkReplyWasmImplPrivate_loadCallback (eval at new_ (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:8:1)
      qtloader.js:368 79
      qtloader.js:378 79
      VM17:1 Uncaught abort(79). Build with -s ASSERTIONS=1 for more info.
      wasm-04cba40a:8216 Uncaught RuntimeError: memory access out of bounds
          at wasm-function[8215]:33
          at wasm-function[24815]:586
          at wasm-function[17810]:34
          at wasm-function[20444]:16
          at Module.dynCall_vii (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14), <anonymous>:1:314397)
          at dynCall_vii_2078 (eval at makeDynCaller (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:4:12)
          at FileReader.qt_QNetworkReplyWasmImplPrivate_readBinary (eval at new_ (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:8:1)
      2wasm-04cba40a:8216 Uncaught RuntimeError: memory access out of bounds
          at wasm-function[8215]:30
          at wasm-function[24815]:586
          at wasm-function[17810]:34
          at wasm-function[20444]:16
          at Module.dynCall_vii (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14), <anonymous>:1:314397)
          at dynCall_vii_2078 (eval at makeDynCaller (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:4:12)
          at FileReader.qt_QNetworkReplyWasmImplPrivate_readBinary (eval at new_ (eval at completeLoadEmscriptenModule (http://localhost/app/qtloader.js:439:14)), <anonymous>:8:1)
      

       

      Does anybody has a workaround while this bug isn't fixed? Orr if somebody could give me little briefing I could try to fix it by my own.

      Attachments

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

        Activity

          People

            lpotter Lorn Potter
            friedemann Friedemann Metzger
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Votes:
            3 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes