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

Changing persistent storage path after page load causes crash

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.8.0 Alpha
    • Fix Version/s: 5.8.0 Alpha
    • Component/s: WebEngine
    • Labels:
      None

      Description

      See the attached example (main.cpp) for details. Load a page first then set new persistent storage path by QWebEngineProfile::setPersistentStoragePath function. The application crashes:

      "/Users/stampho/Library/Application Support/persistent-storage-path/QtWebEngine/Default"
      "/tmp/persistent-storage"
      [57878:46867:0815/160214:ERROR:visitedlink_master.cc(73)] Failed to open file /tmp/persistent-storage/Visited Links
      [57878:36099:0815/160214:FATAL:weak_ptr.h(220)] Check failed: get() != nullptr. 
      0   QtWebEngineCore                     0x000000010d82f353 _ZN4base5debug10StackTraceC1Ev + 19
      1   QtWebEngineCore                     0x000000010d849039 _ZN7logging10LogMessageD2Ev + 73
      2   QtWebEngineCore                     0x000000010fabc7d1 _ZNK4base7WeakPtrIN3net20HttpServerPropertiesEEptEv + 97
      3   QtWebEngineCore                     0x000000010fb77e33 _ZN3net11SpdySession16RecordHistogramsEv + 883
      4   QtWebEngineCore                     0x000000010fb773f3 _ZN3net11SpdySessionD2Ev + 227
      5   QtWebEngineCore                     0x000000010fb7824e _ZN3net11SpdySessionD0Ev + 14
      6   QtWebEngineCore                     0x000000010fb89d0f _ZN3net15SpdySessionPool24RemoveUnavailableSessionERKN4base7WeakPtrINS_11SpdySessionEEE + 575
      7   QtWebEngineCore                     0x000000010fb8991c _ZN3net15SpdySessionPoolD2Ev + 220
      8   QtWebEngineCore                     0x000000010fabc0bb _ZN3net18HttpNetworkSessionD2Ev + 363
      9   QtWebEngineCore                     0x000000010c8dcdb0 _ZN15QtWebEngineCore25URLRequestContextGetterQt17generateHttpCacheEv + 880
      10  QtWebEngineCore                     0x000000010c8daf7a _ZN15QtWebEngineCore25URLRequestContextGetterQt18generateAllStorageEv + 74
      11  QtWebEngineCore                     0x000000010d82f893 _ZN4base5debug13TaskAnnotator7RunTaskEPKcRKNS_11PendingTaskE + 211
      12  QtWebEngineCore                     0x000000010d8586dc _ZN4base11MessageLoop7RunTaskERKNS_11PendingTaskE + 604
      13  QtWebEngineCore                     0x000000010d858a2c _ZN4base11MessageLoop21DeferOrRunPendingTaskERKNS_11PendingTaskE + 44
      14  QtWebEngineCore                     0x000000010d858c2b _ZN4base11MessageLoop6DoWorkEv + 315
      15  QtWebEngineCore                     0x000000010d8222c1 _ZN4base19MessagePumpLibevent3RunEPNS_11MessagePump8DelegateE + 465
      16  QtWebEngineCore                     0x000000010d858212 _ZN4base11MessageLoop10RunHandlerEv + 210
      17  QtWebEngineCore                     0x000000010d873b17 _ZN4base7RunLoop3RunEv + 183
      18  QtWebEngineCore                     0x000000010d85774a _ZN4base11MessageLoop3RunEv + 106
      19  QtWebEngineCore                     0x000000010e89f8d8 _ZN7content17BrowserThreadImpl11IOThreadRunEPN4base11MessageLoopE + 24
      20  QtWebEngineCore                     0x000000010e89fab4 _ZN7content17BrowserThreadImpl3RunEPN4base11MessageLoopE + 372
      21  QtWebEngineCore                     0x000000010d898e0c _ZN4base6Thread10ThreadMainEv + 460
      22  QtWebEngineCore                     0x000000010d8936f8 _ZN4base12_GLOBAL__N_110ThreadFuncEPv + 104
      23  libsystem_pthread.dylib             0x00007fff85d9c99d _pthread_body + 131
      24  libsystem_pthread.dylib             0x00007fff85d9c91a _pthread_body + 0
      25  libsystem_pthread.dylib             0x00007fff85d9a351 thread_start + 13
      

      Widget is tested, most probably Quick API is also affected because assert is triggered in chromium. The error message regarding to the missing Visited Links file is not relevant. The crash is reproducible with existing local storage directory too.

      I've also tested this with 5.7 and couldn't reproduce this issue. All platforms seem to be affected I could reproduce this on Linux, Windows and OS X.

      This issue can be also reproduced by demobrowser: change value in Settings->Privacy->Persistent Data Path field and the browser crashes.

        Attachments

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

          Activity

            People

            Assignee:
            allan.jensen Allan Sandfeld Jensen
            Reporter:
            pvarga Peter Varga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes