OSSystems / qt-kiosk-browser

Provides a simple but highly configurable browser for use on Kiosk devices
GNU General Public License v3.0
16 stars 13 forks source link

Recover after subprocess crashes/dies #21

Open septatrix opened 2 months ago

septatrix commented 2 months ago

When a subprocess of the browser crashes the behaviors can differ depending on which subprocess crashed, however, there is no mechanism to recover from this or show this to the user. Chromium for example shows the "Aww snap" page when something goes awry. Cog (another popular kiosk browser based on Webkit) has a flag --webprocess-failure=restart which automatically restarts crashed processes. Alternatively one can tell cog to exit and handle it manually.

qt-kiosk-browser has none of these mechanisms or indicators. We are currently investigating switching from cog to this project, however, having no way to gracefully recover (or at least be able to configure the whole browser to terminate) is currently a showstopper as some crashes are inevitable after a certain scale (and in some rare circumstances we have also seen out-of-memory kills which similarly lead to a browser without e.g. a render process)

otavio commented 2 months ago

I found the link below. Although we can't restart or load the page right now, it would be great if you could consider moving to our browser. We currently don't have any customers who need this feature, so please prepare a request for the scenario you want to support.

https://lists.qt-project.org/pipermail/qtwebengine/2016-March/000336.html

septatrix commented 2 months ago

I filed https://bugreports.qt.io/browse/QTBUG-128257

otavio commented 2 months ago

I subscribed to watch for any comments and feedback in the issue that you reported. I hope they send something back soon.

otavio commented 2 months ago

Have you tried to implement some workaround as suggested in the comment that I sent before?

septatrix commented 2 months ago

Have you tried to implement some workaround as suggested in the comment that I sent before?

No, I have not worked with QT/QML and am not sure where I would put that code. The only reference to a QWebEngineView is in the QML file and I do not know how to add the handler to it as that must be done in C++(?)

otavio commented 2 months ago

I am confident that incorporating support for that feature will require two to three hours of work. Would you be open to discussing the financial investment required for this development?