Details
-
Bug
-
Resolution: Fixed
-
Not Evaluated
-
Qt Creator 15.0.0 (15.0 branch)
-
None
-
c642ec5ce (master)
Description
In order to build and run Qt for WebAssembly applications, an Emscripten SDK needs to be registered. Users do that in the Devices -> WebASsembly settings. When applying the settings, the WebAssembl;y plugins detects and registers the Emscripten toolchains and then calls Kit::fix() in the hope that the WebAssembly kits get the matching Emscripten toolchains assigned.
That used to work up until change 9cf9e0aa344ec3affba749c68c6d4e9f32dfb343 . After that change, some toolchain gets assigned to the WebAssembly kits on IDE start. But calling calls Kit::fix() does not trigger assigning the matching toolchains, anymore.
Before 9cf9e0aa344ec3affba749c68c6d4e9f32dfb343
ProjectExplorer!`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1>::operator()(class ProjectExplorer::Toolchain * tc = 0x00000246`1e30d7c0)+0xf [src\plugins\projectexplorer\kitaspects.cpp @ 626] ProjectExplorer!std::invoke<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1> &,ProjectExplorer::Toolchain &>(class ProjectExplorer::ToolchainKitAspect::setBundle::__l2::<lambda_1> * _Obj = 0x000000e1`8d8f03c8, class ProjectExplorer::Toolchain * _Arg1 = 0x00000246`1e30d7c0)+0x1e [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\type_traits @ 1549] ProjectExplorer!std::_Invoker_ret<void,1>::_Call<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1> &,ProjectExplorer::Toolchain &>(class ProjectExplorer::ToolchainKitAspect::setBundle::__l2::<lambda_1> * _Func = 0x000000e1`8d8f03c8, class ProjectExplorer::Toolchain * <_Vals_0> = 0x00000246`1e30d7c0)+0x1e [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 652] ProjectExplorer!std::_Func_impl_no_alloc<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1>,void,ProjectExplorer::Toolchain &>::_Do_call(class ProjectExplorer::Toolchain * <_Args_0> = 0x00000246`1e30d7c0)+0x2a [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 823] ProjectExplorer!std::_Func_class<void,ProjectExplorer::Toolchain &>::operator()(class ProjectExplorer::Toolchain * <_Args_0> = 0x00000246`1e30d7c0)+0x62 [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 870] ProjectExplorer!ProjectExplorer::ToolchainBundle::forEach<ProjectExplorer::Toolchain>(class std::function<void __cdecl(ProjectExplorer::Toolchain &)> * modifier = 0x000000e1`8d8f03c0)+0xa1 [src\plugins\projectexplorer\toolchain.h @ 252] ProjectExplorer!ProjectExplorer::ToolchainKitAspect::setBundle(class ProjectExplorer::Kit * k = 0x00000246`1beef360, class ProjectExplorer::ToolchainBundle * bundle = 0x00000246`1bcc1e50)+0x53 [src\plugins\projectexplorer\kitaspects.cpp @ 625] QtSupport!QtSupport::QtKitAspectFactory::fix(class ProjectExplorer::Kit * k = 0x00000246`1beef360)+0x432 [src\plugins\qtsupport\qtkitaspect.cpp @ 300] ProjectExplorer!ProjectExplorer::Kit::fix(void)+0xd7 [src\plugins\projectexplorer\kit.cpp @ 259] WebAssembly!WebAssembly::Internal::registerToolChains(void)+0x3bc [src\plugins\webassembly\webassemblytoolchain.cpp @ 165] WebAssembly!QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (<function> ** f = 0x00000246`1bcfb1e0, void ** arg = 0x000000e1`8d8f0b88)+0x16 [C:\Qt\6.6.2\msvc2019_64\include\QtCore\qobjectdefs_impl.h @ 137] WebAssembly!QtPrivate::Functor<void (<function> ** f = 0x00000246`1bcfb1e0, void * __formal = 0x00007ffb`f3118290, void ** arg = 0x000000e1`8d8f0b88)+0x23 [C:\Qt\6.6.2\msvc2019_64\include\QtCore\qobjectdefs_impl.h @ 340] WebAssembly!QtPrivate::QCallableObject<void (int which = 0n1, class QtPrivate::QSlotObjectBase * this_ = 0x00000246`1bcfb1d0, class QObject * r = 0x00007ffb`f3118290, void ** a = 0x000000e1`8d8f0b88, bool * ret = 0x00000000`00000000)+0x90 [C:\Qt\6.6.2\msvc2019_64\include\QtCore\qobjectdefs_impl.h @ 534] Qt6Cored!QtPrivate::QSlotObjectBase::call(class QObject * r = 0x00007ffb`f3118290, void ** a = 0x000000e1`8d8f0b88)+0x43 [C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobjectdefs_impl.h @ 433] Qt6Cored!doActivate<0>(class QObject * sender = 0x00007ffb`f3118290, int signal_index = 0n10, void ** argv = 0x000000e1`8d8f0b88)+0x908 [C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp @ 4039] Qt6Cored!QMetaObject::activate(class QObject * sender = 0x00007ffb`f3118290, struct QMetaObject * m = 0x00007ffb`fc2bc470, int local_signal_index = 0n0, void ** argv = 0x00000000`00000000)+0x68 [C:\Users\qt\work\qt\qtbase\src\corelib\kernel\qobject.cpp @ 4100] Utils!Utils::AspectContainer::applied(void)+0x22 [src\libs\utils\Utils_autogen\EWIEGA46WW\moc_aspects.cpp @ 1724] Utils!Utils::AspectContainer::apply(void)+0xd5 [src\libs\utils\aspects.cpp @ 3233] Core!Core::IOptionsPage::apply(void)+0x18f [src\plugins\coreplugin\dialogs\ioptionspage.cpp @ 270] Core!Core::Internal::SettingsDialog::apply(void)+0xaa [src\plugins\coreplugin\dialogs\settingsdialog.cpp @ 759] ...
After 9cf9e0aa344ec3affba749c68c6d4e9f32dfb343
ProjectExplorer!`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1>::operator()(class ProjectExplorer::Toolchain * tc = 0x000001e7`9a0ca860)+0xf [src\plugins\projectexplorer\kitaspects.cpp @ 674] ProjectExplorer!std::invoke<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1> &,ProjectExplorer::Toolchain &>(class ProjectExplorer::ToolchainKitAspect::setBundle::__l2::<lambda_1> * _Obj = 0x00000083`431a58b8, class ProjectExplorer::Toolchain * _Arg1 = 0x000001e7`9a0ca860)+0x1e [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\type_traits @ 1549] ProjectExplorer!std::_Invoker_ret<void,1>::_Call<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1> &,ProjectExplorer::Toolchain &>(class ProjectExplorer::ToolchainKitAspect::setBundle::__l2::<lambda_1> * _Func = 0x00000083`431a58b8, class ProjectExplorer::Toolchain * <_Vals_0> = 0x000001e7`9a0ca860)+0x1e [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 652] ProjectExplorer!std::_Func_impl_no_alloc<`ProjectExplorer::ToolchainKitAspect::setBundle'::`2'::<lambda_1>,void,ProjectExplorer::Toolchain &>::_Do_call(class ProjectExplorer::Toolchain * <_Args_0> = 0x000001e7`9a0ca860)+0x2a [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 823] ProjectExplorer!std::_Func_class<void,ProjectExplorer::Toolchain &>::operator()(class ProjectExplorer::Toolchain * <_Args_0> = 0x000001e7`9a0ca860)+0x62 [C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\include\functional @ 870] ProjectExplorer!ProjectExplorer::ToolchainBundle::forEach<ProjectExplorer::Toolchain>(class std::function<void __cdecl(ProjectExplorer::Toolchain &)> * modifier = 0x00000083`431a58b0)+0xa1 [src\plugins\projectexplorer\toolchain.h @ 252] ProjectExplorer!ProjectExplorer::ToolchainKitAspect::setBundle(class ProjectExplorer::Kit * k = 0x000001e7`9a32b480, class ProjectExplorer::ToolchainBundle * bundle = 0x000001e7`9a325d10)+0x53 [src\plugins\projectexplorer\kitaspects.cpp @ 673] ProjectExplorer!ProjectExplorer::setToolchainsFromAbis(class ProjectExplorer::Kit * k = 0x000001e7`9a32b480, class QList<std::pair<Utils::Id,ProjectExplorer::Abi> > * abisByLanguage = 0x00000083`431a5be8)+0x312 [src\plugins\projectexplorer\kitaspects.cpp @ 474] ProjectExplorer!ProjectExplorer::setMissingToolchainsToHostAbi(class ProjectExplorer::Kit * k = 0x000001e7`9a32b480, class QList<Utils::Id> * languageBlacklist = 0x00000083`431a5ed0)+0x15c [src\plugins\projectexplorer\kitaspects.cpp @ 489] ProjectExplorer!ProjectExplorer::setupForSdkKit(class ProjectExplorer::Kit * k = 0x000001e7`9a32b480)+0x3ab [src\plugins\projectexplorer\kitaspects.cpp @ 523] ProjectExplorer!ProjectExplorer::ToolchainKitAspectFactory::setup(class ProjectExplorer::Kit * k = 0x000001e7`9a32b480)+0x6c [src\plugins\projectexplorer\kitaspects.cpp @ 540] ProjectExplorer!ProjectExplorer::Kit::setup(void)+0xd7 [src\plugins\projectexplorer\kit.cpp @ 267] ProjectExplorer!ProjectExplorer::KitManager::restoreKits(void)+0x49a [src\plugins\projectexplorer\kitmanager.cpp @ 255] ProjectExplorer!ProjectExplorer::ProjectExplorerPlugin::delayedInitialize(void)+0x12a [src\plugins\projectexplorer\projectexplorer.cpp @ 2141] ExtensionSystem!ExtensionSystem::CppPluginSpec::delayedInitialize(void)+0x109 [src\libs\extensionsystem\pluginspec.cpp @ 1249] ExtensionSystem!ExtensionSystem::Internal::PluginManagerPrivate::startDelayedInitialize(void)+0x2e8 [src\libs\extensionsystem\pluginmanager.cpp @ 946] ExtensionSystem!QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (<function> * f = 0x00007ffc`3ab22761, class ExtensionSystem::Internal::PluginManagerPrivate * o = 0x000001e7`8f5f7870, void ** arg = 0x00000083`431a7a28)+0x27 [C:\Qt\6.6.2\msvc2019_64\include\QtCore\qobjectdefs_impl.h @ 145] ...