Details
-
Bug
-
Resolution: Incomplete
-
P1: Critical
-
None
-
5.5.1
-
None
-
58c23ae1619fb4afaae9c8eb2527c0906baef97b (qtbase/5.6, 6.4.2016, 5.6.1)
Description
My app is crashing with a null pointer dereference with the following stacktrace. I have not reproduced the crash myself – instead, we've received 6 reports of this crash from anonymized users via our Breakpad crash dump uploader. The 6 crashes come from 4 different machines, all of which are "Windows 7 (64-bit) 6.1.7601 SP 1.0 x64"
Thread 0 (crashed) 0 qwindows.dll 5.5.1.0 0x7fee8ea80a9 QWindowsNativeInterface::nativeResourceForIntegration(QByteArray const &) + 0x8 (qwindowsnativeinterface.cpp:142) 1 Qt5Gui.dll 5.5.1.0 0x7fee531ed9e QOpenGLContext::openGLModuleHandle() + 0x14 (qopenglcontext.cpp:1156) 2 Qt5WebEngineCore.dll5.5.1.0 0x7fede5b60a0 3 kernel32.dll 6.1.7601.18015 0x76c53009 4 Qt5Core.dll 5.5.1.0 0x6e9f153e qt_message + 0xc (qlogging.cpp:266) 5 Qt5Core.dll 5.5.1.0 0x6e9f2b36 QMessageLogger::warning(char const *,...) + 0x27 (qlogging.cpp:549) 6 qwindows.dll 5.5.1.0 0x7fee8eae060 QOpenGLStaticContext::create(bool) + 0x29 (qwindowsglcontext.cpp:1008) 7 qwindows.dll 5.5.1.0 0x7fee8e7b2a6 QWindowsStaticOpenGLContext::doCreate() + 0x6 (qwindowsintegration.cpp:382) 8 qwindows.dll 5.5.1.0 0x7fee8e7b9cf QWindowsIntegration::staticOpenGLContext() + 0x4 (qwindowsintegration.cpp:429) 9 qwindows.dll 5.5.1.0 0x7fee8e7b4b8 QWindowsIntegration::openGLModuleType() + 0x4 (qwindowsintegration.cpp:416) 10 Qt5WebEngineCore.dll5.5.1.0 0x7fede5b531d 11 ntdll.dll 6.1.7601.18247 0x76f6542f 12 ntdll.dll 6.1.7601.18247 0x76ea3447 13 ntdll.dll 6.1.7601.18247 0x76f6542f 14 ntdll.dll 6.1.7601.18247 0x76ea3447 15 msvcr120.dll 12.0.21005.1 0x7feed216966 16 Qt5WebEngineCore.dll5.5.1.0 0x7fede5b572e 17 Qt5WebEngineCore.dll5.5.1.0 0x7fede5896e3 18 Qt5WebEngine.dll 5.5.1.0 0x7fef0cb398e QQuickWebEngineProfile::defaultProfile() + 0x4a (qquickwebengineprofile.cpp:391) 19 Qt5WebEngine.dll 5.5.1.0 0x7fef0cb5dcc QQuickWebEngineViewPrivate::QQuickWebEngineViewPrivate() + 0xac (qquickwebengineview.cpp:107) 20 Qt5WebEngine.dll 5.5.1.0 0x7fef0cb5c8a QQuickWebEngineView::QQuickWebEngineView(QQuickItem *) + 0x3a (qquickwebengineview.cpp:580) 21 qtwebengineplugin.dl5.5.1.0 0x7fef2951144 QQmlPrivate::createInto<QQuickWebEngineView>(void *) + 0x14 (qqmlprivate.h:102) 22 Qt5Qml.dll 5.5.1.0 0x6f2bc874 QQmlType::create() + 0xf (qqmlmetatype.cpp:715) 23 Qt5Qml.dll 5.5.1.0 0x6f306c09 QQmlObjectCreator::createInstance(int,QObject *,bool) + 0x7 (qqmlobjectcreator.cpp:1050)
The source code of qwindowsnativeinterface.cpp looks like this:
if (resourceType(resource) == GlHandleType) return QWindowsIntegration::staticOpenGLContext()->moduleHandle();
and I can see from simple inspection that staticOpenGLContext() can return null, so a null pointer guard is needed before the moduleHandle() call.
I don't have any information about the GPU of the systems that have crashed. But I can say that this crash is happening very early in the application launch: it's trying to show a local HTML EULA file for the user to agree/disagree with on first run.