[Qtwebengine] Detect crash of page process

Aleksey Yermakov jp.kuraisu at gmail.com
Fri Mar 11 15:02:08 CET 2016


Hi,

I've tried to call QWebEngineView::reload() on renderProcessTerminated
signal. And when doing both chrome://crash and killing QtWebEngineProcess
application crashes.

Is there some way to recover from render process crash?

Here is the error message and the backtrace:

[0311/165832:FATAL:mojo_application_host.cc(93)] Check failed:
client_handle_.is_valid().
Backtrace:
GetHandleVerifier [0x11A21F21+278721]
QtWebEngineCore::CookieMonsterDelegateQt::canSetCookie [0x11973FDF+1258623]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x10923A8A+7956410]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x1070D2C5+5767157]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AE4E9+7475737]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AD8E4+7472660]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AEF77+7478439]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AE25E+7475086]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AECED+7477789]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AEA3A+7477098]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AE164+7474836]
QtWebEngineCore::FilePickerController::qt_static_metacall
[0x108AEC20+7477584]
QtWebEngineCore::BrowserContextAdapter::customUrlSchemeHandlers
[0x116F062F+2140767]
GetHandleVerifier [0x11A3E4CD+394861]
QtWebEngineCore::CookieMonsterDelegateQt::canSetCookie [0x11983C88+1323304]
QtWebEngineCore::CookieMonsterDelegateQt::canSetCookie [0x119823C4+1316964]
QtWebEngineCore::CookieMonsterDelegateQt::canSetCookie [0x1198290D+1318317]
QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::~RenderWidgetHostViewQtDelegateClient
[0x1011EDA7+77687]
QtWebEngineCore::RenderWidgetHostViewQtDelegateClient::~RenderWidgetHostViewQtDelegateClient
[0x1011EC27+77303]
uppercasebase [0x669D4771+3241114]
QSpacerItem::geometry [0x647378FB+217080]
QSpacerItem::geometry [0x64733CEE+201707]
uppercasebase [0x6698F86C+2958741]
uppercasebase [0x66998409+2994482]
uppercasebase [0x66990B66+2963599]
uppercasebase [0x66A242D4+3567613]
qt_plugin_query_metadata [0x024F5C70+659833]
uppercasebase [0x66A2268A+3560371]
gapfnScSendMessage [0x76E462FA+818]
GetThreadDesktop [0x76E46D3A+215]
CharPrevW [0x76E477C4+312]
DispatchMessageW [0x76E4788A+15]
uppercasebase [0x66A2300E+3562807]
qt_plugin_query_metadata [0x024F5C48+659793]
uppercasebase [0x6698B32C+2941013]
uppercasebase [0x6698B537+2941536]
uppercasebase [0x6698DBB2+2951387]
QOpenGLFunctions_1_4::initializeOpenGLFunctions [0x0F4875F8+414398]
QSpacerItem::geometry [0x64733949+200774]
main [0x000E2606+310]
(d:\qtprojects\qtwebengine-renderprocessterminated-test\main.cpp:16)
WinMain [0x000E555D+173]
(c:\qt\5.6-git\src\qtbase\src\winmain\qtmain_win.cpp:113)
__tmainCRTStartup [0x000E493F+575]
(f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618)
WinMainCRTStartup [0x000E46FD+13]
(f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:466)
BaseThreadInitThunk [0x76BB33AA+18]
RtlInitializeExceptionChain [0x77459EF2+99]
RtlInitializeExceptionChain [0x77459EC5+54]

On Thu, Mar 10, 2016 at 9:29 PM, Aleksey Yermakov <jp.kuraisu at gmail.com>
wrote:

> Hi Allan,
>
> Thanks, I'll check chrome://crash. I tried killing QtWebEngineProcess but
> QWebEngineView didn't show crash page and just stopped responding. I
> haven't tested yet, but I'm not sure I'll be able to catch this signal that
> way. I'll try later though.
>
> Cheers,
> Aleksey
>
> On Thu, Mar 10, 2016 at 9:18 PM, Allan Sandfeld Jensen <
> allan.jensen at theqtcompany.com> wrote:
>
>> You can navigate to chrome://crash
>>
>> It is one of the few Chrome URLs that always works as expected.
>>
>> You can also look for the QtWebEngineProcess and kill it.
>>
>> `Allan
>> On Thursday 10 March 2016, Aleksey Yermakov wrote:
>> > Hi Kai,
>> >
>> > That's exactly what I needed. Thank you.
>> >
>> > Do you know an effective way to crash render process for testing
>> purposes?
>> >
>> > Regards,
>> > Aleksey
>> >
>> > On Thu, Mar 10, 2016 at 6:08 PM, Koehne Kai <
>> Kai.Koehne at theqtcompany.com>
>> >
>> > wrote:
>> > > > -----Original Message-----
>> > > > From: QtWebEngine [mailto:qtwebengine-
>> > > > bounces+kai.koehne=theqtcompany.com at qt-project.org] On Behalf Of
>> > > > Aleksey Yermakov
>> > > > Sent: Thursday, March 10, 2016 4:02 PM
>> > > > To: qtwebengine at qt-project.org
>> > > > Subject: [Qtwebengine] Detect crash of page process
>> > > >
>> > > > Hi,
>> > > >
>> > > > My QtWebEngine app sometimes experience crashes after
>> > > > sleep/hibernation which is easily fixed by page reload.
>> > > >
>> > > > Is there a way (a signal?) to detect a crash of a page process? If
>> not,
>> > >
>> > > I'm
>> > >
>> > > > ready to implement it.
>> > >
>> > > Qt 5.6 will feature a renderProcessTerminated signal
>> > >
>> > >
>> > >
>> http://doc-snapshots.qt.io/qt5-5.6/qwebengineview.html#renderProcessTermi
>> > > nated
>> > >
>> > >
>> > >
>> http://doc-snapshots.qt.io/qt5-5.6/qml-qtwebengine-webengineview.html#ren
>> > > derProcessTerminated-signal
>> > >
>> > > Regards
>> > >
>> > > Kai
>>
>>
>> --
>>
>> The Qt Company
>> Rudower Chausse 13, 12489 D-Berlin
>>
>> The Qt Company is a group company of Digia Plc,
>> Valimotie 21, FI-00380 Helsinki Finland
>>
>
>
>
> --
> Aleksey Yermakov
>
>


-- 
Aleksey Yermakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/qtwebengine/attachments/20160311/82bdf283/attachment.html>


More information about the QtWebEngine mailing list