Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.8.0 Alpha
-
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.