Details
-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
5.11.0 Beta 4
-
None
-
Qt 5.11 Beta 4 x86 built with MSVC 2017 15.7 on Windows 10 x64 version 1709
See attached configure options and configure summary.
Compiler and linker versions:
{code:java}
.Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26412 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
Compiler Passes:
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\cl.exe: Version 19.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c1.dll: Version 19.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c1xx.dll: Version 19.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c2.dll: Version 19.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\link.exe: Version 14.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\mspdb140.dll: Version 14.14.26412.0
C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\1033\clui.dll: Version 19.14.26412.0{code}Qt 5.11 Beta 4 x86 built with MSVC 2017 15.7 on Windows 10 x64 version 1709 See attached configure options and configure summary. Compiler and linker versions: {code:java} .Microsoft (R) C/C++ Optimizing Compiler Version 19.14.26412 for x86 Copyright (C) Microsoft Corporation. All rights reserved. Compiler Passes: C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\cl.exe: Version 19.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c1.dll: Version 19.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c1xx.dll: Version 19.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\c2.dll: Version 19.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\link.exe: Version 14.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\mspdb140.dll: Version 14.14.26412.0 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.14.26412\bin\HostX86\x86\1033\clui.dll: Version 19.14.26412.0{code}
Description
In static builds there's a memory corruption before main() even starts.
See attached example project.
Crash dump here: https://www.dropbox.com/s/ewpmquiw4b8znxs/TestQt511.exe.1692.dmp.7z?dl=0
The stack is part of the auto-generated static plugin loader CPP. The exception occurs in the very first plugin.
// This file is autogenerated by qmake. It imports static plugin classes for // static plugins specified using QTPLUGIN and QT_PLUGIN_CLASS.<plugin> variables. #include <QtPlugin> Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) // <-- exception here
Stack trace:
ntdll.dll!RtlpValidateHeapEntry() Unknown ntdll.dll!_RtlValidateHeap@12() Unknown KernelBase.dll!_HeapValidate@12() Unknown TestQt511.exe!_CrtIsValidHeapPointer(const void * block) Line 1407 C++ TestQt511.exe!free_dbg_nolock(void * const block, const int block_use) Line 904 C++ TestQt511.exe!_free_dbg(void * block, int block_use) Line 1030 C++ TestQt511.exe!free(void * block) Line 28 C++ > TestQt511.exe!QArrayData::deallocate(QArrayData * data, unsigned int objectSize, unsigned int alignment) Line 167 C++ TestQt511.exe!QTypedArrayData<QStaticPlugin>::deallocate(QArrayData * data) Line 237 C++ TestQt511.exe!QVector<QStaticPlugin>::reallocData(const int asize, const int aalloc, QFlags<enum QArrayData::AllocationOption> options) Line 640 C++ TestQt511.exe!QVector<QStaticPlugin>::append(const QStaticPlugin & t) Line 683 C++ TestQt511.exe!qRegisterStaticPluginFunction(QStaticPlugin plugin) Line 435 C++ TestQt511.exe!StaticQWindowsIntegrationPluginPluginInstance::StaticQWindowsIntegrationPluginPluginInstance() Line 4 C++ TestQt511.exe!`dynamic initializer for 'staticQWindowsIntegrationPluginInstance''() Line 4 C++ TestQt511.exe!_initterm(void(*)() * first, void(*)() * last) Line 22 C++ TestQt511.exe!__scrt_common_main_seh() Line 251 C++ TestQt511.exe!__scrt_common_main() Line 326 C++ TestQt511.exe!WinMainCRTStartup() Line 17 C++ kernel32.dll!@BaseThreadInitThunk@12() Unknown ntdll.dll!__RtlUserThreadStart() Unknown ntdll.dll!__RtlUserThreadStart@8() Unknown
The release build work fine. I don't know if that's because there is really no problem with the release build or because the corruption goes undetected.