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

WebAssembly: QSettings crashes Chrome Canary, while it runs nicely on FireFox Nightly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 6.4.0
    • 5.13.0
    • QPA
    • None
    • Qt 5.13 (overnight checkout, source build, threads are NOT enabled), Chrome Canary (75.0.3754.0, 64 bit), FireFox nightly (68.0a1 (2019-04-02) (64-bit)), Emscripten (1.38.30),

    Description

      I do test overnight Qt compilations for WebAssembly. I need to check the stability of persistent file storage between browser session (stability, speed, capacity, etc). According to (https://bugreports.qt.io/browse/QTBUG-67834) in WASM, it is done via QSettings (that is using an IDBFS as backend in async mode.

      My current test is about triggering a function with a timer (singleshot=true, to avoid GUI lockup), and that function tries to save a predefined number (3) of strings with a given length (8388608 bytes) into QSettings. The function is recalled 500ms after its finish by retriggering the timer.

      In Chrome Canary, this function crashes the browesr (with the "Ah, Snap!" page) when it reaches 20-22 iterations, while in FireFox Nightly can reach 200+ iterations without any problems. 

      Reading QTBUG-67834 I suspected that due to the async nature of IDBFS, the sync() is not called as frequently as it would be needed, so I put a QSettings->sync() call at the end. There was no change experienced.

      Update: FireFox Nightly is also crashing .. it just needs more time (and iterations) for it.

      Update2: added simple test code (click on "RUN TEST" button to 50 iteration of QSettings value insertion (same key, same value)

      Attachments

        For Gerrit Dashboard: QTBUG-74918
        # Subject Branch Project Status CR V

        Activity

          People

            sorvig Morten Sørvig
            imrenagy imrenagy
            Veli-Pekka Heinonen Veli-Pekka Heinonen
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There is 1 open Gerrit change