Details
Description
I get the following backtrace with a QWebEngineView when switching quickly between images using JavaScript:
[0329/205623:FATAL:resource_loader.cc(229)] Check failed: request_->status().is_success(). Backtrace: GetHandleVerifier [0x00000001825C0976+404006] QtWebEngineCore::UserScript::isNull [0x00000001824BEDDD+5527357] QtWebEngineCore::BrowserContextAdapter::customUrlSchemeHandlers [0x0000000180B06CDB+5631243] QtWebEngineCore::CookieMonsterDelegateQt::canSetCookie [0x000000018153528B+6720523] QtWebEngineCore::CustomProtocolHandler::~CustomProtocolHandler [0x00000001815DECA1+14321] QtWebEngineCore::CustomProtocolHandler::~CustomProtocolHandler [0x0000000181697CB2+772098] CertificateErrorController::CertificateErrorController [0x000000018348BC01+7983985] CertificateErrorController::CertificateErrorController [0x00000001834D647B+8289259] CertificateErrorController::CertificateErrorController [0x00000001834D7A67+8294871] QtWebEngineCore::BrowserContextAdapter::customUrlSchemeHandlers [0x00000001807B96CD+2168573] GetHandleVerifier [0x00000001825E7E42+564978] QtWebEngineCore::UserScript::isNull [0x00000001824D46FE+5615710] QtWebEngineCore::UserScript::isNull [0x00000001824D27D1+5607729] QtWebEngineCore::UserScript::isNull [0x00000001824D2E74+5609428] GetHandleVerifier [0x00000001825EBC2C+580828] GetHandleVerifier [0x00000001825EDB30+588768] GetHandleVerifier [0x00000001825EDA85+588597] QtWebEngineCore::UserScript::isNull [0x00000001824D4493+5615091] QtWebEngineCore::UserScript::isNull [0x0000000182519E1B+5900155] QtWebEngineCore::UserScript::isNull [0x00000001824D4313+5614707] QtWebEngineCore::UserScript::isNull [0x0000000182540B2D+6059149] QtWebEngineCore::BrowserContextAdapter::customUrlSchemeHandlers [0x000000018084A5F6+2762278] QtWebEngineCore::BrowserContextAdapter::customUrlSchemeHandlers [0x000000018084B6EC+2766620] QtWebEngineCore::UserScript::isNull [0x0000000182541978+6062808] QtWebEngineCore::UserScript::isNull [0x000000018254C015+6105461] BaseThreadInitThunk [0x00007FFE76448102+34] RtlUserThreadStart [0x00007FFE78B5C5B4+52]
The JavaScript code for switching between images is similar to the following code. Crash happens if I hold down rightKey.
function keydownHandler(evt) { if (evt.which == rightKey) { if (imgNo <= imgs.length - 2) { imgNo++; $("#img").attr("src", "/imgs/" + imgs[imgNo]); } }
I have a QWebEngineUrlRequestInterceptor that takes that file:///imgs/... URL and redirects it. I also have 2 QWebEngineUrlSchemeHandlers for other purposes. The only setting I've changed is QWebEngineSettings::LocalContentCanAccessRemoteUrls, to true.
Images are GIFs of size 874 x 901, with file sizes between 11 to 25 KB.
Bug appears similar to https://bugs.chromium.org/p/chromium/issues/detail?id=508900. I've noticed that a crash can happen if images need to be loaded from disk, but have not happened if the images are already cached.
Bug is not reproducible under Fedora 22. I'm not sure whether this is because Fedora 22 is running in a VM on my laptop.