Details
-
Bug
-
Resolution: Incomplete
-
P1: Critical
-
None
-
5.15.2
-
None
-
hardware specification:
Device Name DESKTOP-PKN1MV2
Processor Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz 3.00 GHz
Baseband RAM 64.0 GB (63.9 GB available)
Device ID 87A2C754-C9DF-4D92-AFB1-69AB3694563A
Product ID 00391-90050-00388-AA130
System 64 bit OS, x64 processor
software specification:
Version Windows 10 professional work station
Version Number 21H2
Installation Date 2022/9/15
OS inner version 19044.2006
Windows Feature Experience Pack 120.2212.4180.0
hardware specification: Device Name DESKTOP-PKN1MV2 Processor Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz 3.00 GHz Baseband RAM 64.0 GB (63.9 GB available) Device ID 87A2C754-C9DF-4D92-AFB1-69AB3694563A Product ID 00391-90050-00388-AA130 System 64 bit OS, x64 processor software specification: Version Windows 10 professional work station Version Number 21H2 Installation Date 2022/9/15 OS inner version 19044.2006 Windows Feature Experience Pack 120.2212.4180.0
Description
We are developing a windows desktop application that most of the business logic is accomplished with web pages which are embeded in QtWebEngine.
At first, the application works well, but after it runs for a while(it can be a few hours or a couple of days) , the webengine part rendered blank(totally blank or white or black). The UI thread gone dead, but background thread is running. The whole application needs to be restarted to recover.
The following output is found in Qt framwwork logs:
09-30 20:49:38.574 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qwindowseglcontext.cpp qfunction: void *__thiscall QWindowsEGLStaticContext::createWindowSurface(void *,void *,int *) qline: 306 qmsg: QWindowsEGLStaticContext::createWindowSurface: Could not create the EGL window surface: 0x300e 09-30 20:49:38.584 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qwindowseglcontext.cpp qfunction: void *__thiscall QWindowsEGLContext::chooseConfig(const class QSurfaceFormat &) qline: 913 qmsg: Cannot find EGLConfig, returning null config 09-30 20:49:38.585 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qwindowseglcontext.cpp qfunction: __thiscall QWindowsEGLContext::QWindowsEGLContext(class QWindowsEGLStaticContext *,const class QSurfaceFormat &,class QPlatformOpenGLContext *) qline: 413 qmsg: QWindowsEGLContext: Failed to create context, eglError: 300e, this: 0x47542b50 09-30 20:49:38.585 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qquickwidget.cpp qfunction: void __thiscall QQuickWidgetPrivate::render(bool) qline: 298 qmsg: QQuickWidget: Cannot render due to failing makeCurrent() 09-30 20:49:38.615 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qquickwidget.cpp qfunction: void __thiscall QQuickWidgetPrivate::renderSceneGraph(void) qline: 353 qmsg: QQuickWidget: Attempted to render scene with no context 09-30 20:49:38.620 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: opengl\qopenglvertexarrayobject.cpp qfunction: void __thiscall QOpenGLVertexArrayObjectPrivate::destroy(void) qline: 229 qmsg: QOpenGLVertexArrayObject::destroy() failed to make VAO's context current 09-30 20:49:38.622 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qwindowseglcontext.cpp qfunction: void *__thiscall QWindowsEGLContext::chooseConfig(const class QSurfaceFormat &) qline: 913 qmsg: Cannot find EGLConfig, returning null config 09-30 20:49:38.622 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: qwindowseglcontext.cpp qfunction: __thiscall QWindowsEGLContext::QWindowsEGLContext(class QWindowsEGLStaticContext *,const class QSurfaceFormat &,class QPlatformOpenGLContext *) qline: 413 qmsg: QWindowsEGLContext: Failed to create context, eglError: 300e, this: 0x475409f8 09-30 20:49:38.622 12136-10836 I/main.cpp: system_qt: qtype: 1 qfile: painting\qplatformbackingstore.cpp qfunction: void __thiscall QPlatformBackingStore::composeAndFlush(class QWindow *,const class QRegion &,const class QPoint &,class QPlatformTextureList *,bool) qline: 351 qmsg: composeAndFlush: makeCurrent() failed
Everytime this problem happens, we can found"Display driver igfx stopped responding and has successfully recovered." message from the windows event viewer.
We had tried some methods to avoid this problem, for example, listening to QWebEngineView::renderProcessTerminated signal, and reload web page. That solves some of white screen cases, some other cases there is no QWebEngineView::renderProcessTerminated signal.
We suspect this is a bug either in Qt or the the graphics driver, but not sure.