Details
-
Bug
-
Resolution: Done
-
P2: Important
-
6.3.1
-
Windows 10 & 11. Visual Studio 2019.
-
-
1b6633d1ce (qt/qtwebengine/dev) e83ed04bd3 (qt/qtwebengine/6.3) e83ed04bd3 (qt/tqtc-qtwebengine/6.3) 1b6633d1ce (qt/tqtc-qtwebengine/dev) e83ed04bd3 (qt/qtwebengine/6.3.2) 9669a4cdf3 (qt/qtwebengine/6.4) 9669a4cdf3 (qt/tqtc-qtwebengine/6.4)
Description
WebEngine projects seem to be incompatible with --single-process mode when used in conjunction with proxy auto-configuration (PAC).
Steps to reproduce:
- Enable proxy auto-configuration (PAC) in Windows as described in the section below.
- Open quicknanobrowser sample project.
- Apply the attached single-process-crash-with-pac.patch to enable --single-process mode.
- Build in debug mode and start application.
- Observe [19912:3352:0618/161615.949:FATAL:v8_initializer.cc(95)] V8 error: Entering the V8 API without proper locking in place followed by a crash during startup.
The reason for using --single-process is that I'm working in a security hardened environment where all network access is disabled by default. Firewall whitelisting is performed on an per-app basis. The app EXE therefore need to be the process responsible for network communication in order for firewall whitelisting to work.
Application output:
21:11:31: Starting C:\Qt\Examples\Qt-6.3.1\webenginequick\build-quicknanobrowser-Desktop_Qt_6_3_1_MSVC2019_64bit-Debug\debug\quicknanobrowser.exe... QML debugging is enabled. Only use this in a safe environment. qt.webenginecontext: GL Type: desktop Surface Type: OpenGL Surface Profile: CompatibilityProfile Surface Version: 4.6 QSG RHI Backend: OpenGL Using Supported QSG Backend: yes Using Software Dynamic GL: no Using Multithreaded OpenGL: yes Init Parameters: * application-name quicknanobrowser * browser-subprocess-path C:\Qt\6.3.1\msvc2019_64\bin\QtWebEngineProcessd.exe * create-default-gl-context * disable-es3-gl-context * disable-features ConsolidatedMovementXY,InstalledApp,BackgroundFetch,WebOTP,WebPayments,WebUSB,PictureInPicture * disable-speech-api * enable-features NetworkServiceInProcess,TracingServiceInProcess * enable-threaded-compositing * in-process-gpu * single-process * use-gl desktop [13160:13076:0618/211135.763:FATAL:v8_initializer.cc(95)] V8 error: Entering the V8 API without proper locking in place (HandleScope::HandleScope). Backtrace: QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41D61372+236264418] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41C4F10C+235141500] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41C4F0B3+235141411] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41CDEEE1+235730769] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB474780EA+327584090] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB394352FB+92429163] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB393EB3AA+92126234] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB39412112+92285314] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB393DB47D+92060909] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB40F2612B+221342107] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB40E5BF47+220514231] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB40E58D16+220501382] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B2711C+317815180] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B18ECB+317757243] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4735D9BA+326427178] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB47804F98+331307016] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4780595D+331309517] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB47390530+326634912] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B0C7A9+317706265] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46AF8F1A+317626250] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46AD7B9D+317490189] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46AF8AB8+317625128] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B2C706+317837174] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B2BEFC+317835116] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B0B40D+317701245] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46B09C21+317695121] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB38B6995D+83206605] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB46AFF067+317651159] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4335256E+259272158] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB43350BB1+259265569] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB43366468+259353816] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4335209E+259270926] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB43898AD5+264803141] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4388E440+264760496] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4388E9C9+264761913] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4388EF23+264763283] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB4389D88D+264823037] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB3433634A+7498682] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41C6CAEA+235262810] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F93170+238565856] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F8AF99+238532617] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F8B10C+238532988] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F8BE83+238536435] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F97CC3+238585139] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB3433634A+7498682] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41C6CAEA+235262810] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F9441D+238570637] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F93A49+238568121] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41BF23F3+234761315] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41F97FF6+238585958] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41E66A43+237335219] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41D0553C+235888044] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41D08384+235899892] QWebEnginePage::setUrlRequestInterceptor [0x00007FFB41C62D42+235222450] BaseThreadInitThunk [0x00007FFBE1DD54E0+16] RtlUserThreadStart [0x00007FFBE378485B+43]
How to test proxy auto-configuration (PAC)
Create a proxy.pac file with the following content:
// Dummy Proxy Auto-Configuration (PAC) file that does nothing function FindProxyForURL(url, host) { return "DIRECT"; }
Run python -m http.server 8080 --directory <folder>, where <folder> is the folder containing proxy.pac, to start a web server for serving the PAC file to Windows.
In Windows Settings, configure proxy setup script to http://localhost:8080/proxy.pac
Attachments
Issue Links
- replaces
-
QTBUG-99445 quicknanobrowser crashes with --single-process
- Closed