QWebEngineView stops working after a few reboots
-
I'm making a program in QT in version 5.15.8 that uses WebEngine to display a page that streams video. The program runs on an arm64 machine with an NVidia graphics card that uses the Jetson board and I used docker with an Ubuntu image to upload the libraries and extensions needed to run my program. The system always behaved well until a customer decided to reset the machine about 20 times after starting streaming and the system seemed to freeze. After that, the customer removed the HDMI cable from the video and placed it on another monitor and then returned to the original monitor. At that moment, streaming started working normally again, which seemed to indicate that it wasn't a crash but rather a rendering problem. In our logs, the following error appeared:
[1060:1067:0315/235212.973087:ERROR:command_buffer_proxy_impl.cc(141)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
Which left me thinking it might be a communication issue with the GPU or something, I don't know. I couldn't really find what the problem was. I tried some workarounds to try to do something about it, but nothing worked:
- force via console HDMI off and ON
- force a repaint of the web engine view
- force a hide and show
- force a screen resize
- force exit fullscreen and return to fullscreen
- Force change the resolution and return to the normal resolution
Furthermore, I did a recompilation with the disable-gpu flag to see if it would solve it and it didn't solve it either. I can't think of what else I can do to fix the problem (which I don't even know what it is) or to at least do some work around and be able to investigate for a little longer.